PHP 自定义函数实现系统函数功能
PHP 自定义函数实现系统函数功能
总是用别人写好的函数 是不是觉得不爽?好,下面跟着我来写吧~~以下代码全部由自己编写,绝无抄袭之嫌~~现贴上,仅供参考.(可能有些功能没有写全)
说明一下,写系统函数再拿来使用确实很蠢,但只是作为练习,还有,在面试时确实是算法考得多,网上找来的面试题也大都要靠算法\语法熟练才能完成~~!
1,自定义函数实现strlen()函数的功能,该函数返回一个字符串的长度;
function my_strlen2($str){
if (!is_string($str)){
return false;
}
for ($i=0;($str{$i}) !=="";$i++);
return $i;
}
2,自定义函数实现strrev()函数功能,该函数把一段字符串倒过来输出(即字符串反转);
function my_strrev($str){
$cut = '';
for ($i = 0; $str{$i}!==''; $i++){
$cut = $str{$i}.$cut;
}
return $cut;
}
更简单的方法:
function myStrlen($str){
for ($i=0; $str[$i]!==''; $i++);
return $i;
}
for ($i=myStrlen($str); $i>-1; $i--){
$res .= $str[$i];
}
echo $res;
3.自定义函数实现count()函数功能,该函数返回数组中元素的个数;
function my_count($arr){
if (!is_array($arr)){
return false;
}
$i = 0;
while ($arr{$i}){
$i++;
}
return $i;
}
4.冒泡排序法;
function my_sort($arr){
$len = count($arr);
for ($i=0; $i<$len-1; $i++){
for ($j=$i; $j<$len; $j++){
if ($arr[$i] > $arr[$j]){
$res = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $res;
}
}
}
return $arr;
}
5.自定义函数实现strpos()函数功能,该函数返回一个字符在字符串中的位置;
function my_strpos($str1,$str2){
if (!is_string($str1) || !is_string($str2)){
相关文档:
如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
当对父类的方法进行重写时,子类中的方法必须和父类中对应的方法具有相同的方法名称,在PHP5中不限制输入参数类型、参数数量和返回值类型。(这点和JAVA不同)
子类中的覆盖方法不能使用比父类中被覆 ......
一个接口可以继承自另外的接口。PHP5中的类是单继承,但是接口很特殊。一个接口可以继承自多个接口。
一个接口继承其它接口时候,直接继承父接口的静态常量属性和抽象方法。
在PHP5中,接口是可以继承自另外一个接口的。这样代码的重用更有效了。
要注意只有接口和接口之间使用 继承关键字extends。
类实现接口必须实现 ......
<p>抽象类实现接口,可以不实现其中的抽象方法,而将抽象方法的实现交付给具体能被实例化的类去处理。</p>
<textarea name="code" class="php">
<?php
interface User
{
function getName();
function setName($_name);
}
//此处只是实现了一个接口的一个方法
abstract cl ......
一.环境的安装
下载安装包,Google上搜索php+apache+sql的安装包并安装。
二.扩展编程
针对在PHP环境下掉用C编程(c程序编译的dll),主要有以下两种方式。
1.利用ATL构建DLL组件,然后再PHP里面直接调用,调用方法 ......
在PHP里Tidy模块其实功能很强,特别用在网页分析这一块,由于最近在读取邮箱通讯录里,像163读出来的就是一个页面,只有通过Tidy分析读取邮箱地址和姓名,所以在这里简单的介绍一下Tidy的安装,这里为什么在指出PHP4.X和PHP5.X,因为在PHP4.X还没有自带Tidy模块,PHP5.X自己带有,所以在网上很多资料都是说找不到支持PHP5 ......