php面试

2017-09-03  本文已影响10人  西兰花伟大炮

(1)引用变量

变量赋值

<?php
$a = range(0,200);
var_dump(memory_get_usage());
$b = $a;
//cow copy on write 写的时候才会进行拷贝
var_dump(memory_get_usage());
$b = range(0,500);
var_dump(memory_get_usage());
//赋值时两个变量相同,当对其中一个变量进行修改
//才会另开辟一块空间来进行存储,分别指向各自的地址
引用变量1.PNG

变量引用

<?php
$a = range(0,200);
var_dump(memory_get_usage());
$b = &$a;
//cow copy on write 写的时候才会进行拷贝
var_dump(memory_get_usage());
$b = range(0,200);
var_dump(memory_get_usage());
//$b取得的是$a的地址的引用,两个变量指向相同的地址,只会开辟一块空间
引用变量2.PNG
(2)reverse函数重写

PHP中没有字符串与数组的length属性

function str_reverse($str){
    $result = '';
    
    for($i = 0;true;$i++){
        if(!isset($str[$i])){
            break;
        }
    }
    //获取字符串的长度

    for($j = $i - 1;$j>=0;$j--){
        $result .= $str[$j];
    }
    //反向拼接字符串
    return $result;
}
var_dump(str_reverse('weidapao'));
(3)得到字符串与数组的长度

数组

$arr = array(6,8,9,7,15,5);
print_r(count($arr));  //6
print_r(sizeof($arr)); //6

字符串

$str = "abandon";
print_r(strlen($str)); //7
上一篇 下一篇

猜你喜欢

热点阅读