(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());
//赋值时两个变量相同,当对其中一个变量进行修改
//才会另开辟一块空间来进行存储,分别指向各自的地址
变量引用
<?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)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