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不同)
子类中的覆盖方法不能使用比父类中被覆 ......
类实现接口要使用 implements 。类实现接口要实现其中的抽象方法。一个类可以实现多个接口。
一个类可以使用 implements 实现接口,甚至可以实现多个接口。
大部分的书说,这样是为了实现PHP的多继承。为什么呢?
PHP5是单继承的,一个类只可以继承自一个父类。接口可以实现多个,这样就是多继承了。
这样说有些道理。 ......
PHP是弱类型语言,向方法传递参数时候也不太区分类型。这样的使用会引起很多的问题,PHP开发者认为,这些问题应该是由代码书写者在书写代码时进行检验以避免。没有类型提示很危险。
<?php
class NormalUser
{
/*
* 其它相关代码..省略........
*/
private $age;
public function setAge($_age) {
$this- ......
多态这个概念,在Java中指的是变量可以指向的对象的类型,可是变量声明类型的子类。对象一旦创建,它的类型是不变的,多态的是变量。在PHP5中,变量的类型是不确定的,一个变量可以指向任何类型的数值、字符串、对象、资源等。我们无法说PHP5中多态的是变量。
我们只能说在PHP5中,多态应用在方法参数的类型提示位置。
一 ......
<?php
/*
* -------------------------------------------------
* Author : Fanglor
* Email : Fanlor@163.com
* Url : www.skyleft.com
* Date : 2009-10-13
* -------------------------------------------------
*/
function arr_foreach ($arr) {
if (!is_array ($arr)) {
return fa ......