October 24, 2013 posted in
[
php]
- 将对象转换为array时结果为数组,属性名为键。不过有几点例外:整数属性不可访问;私有变量前会加上类名作前缀;保护变量前会加上一个 '*' 做前缀。这些前缀的前后都各有一个 NULL 字符。这会导致一些不可预知的行为(实验证明private和protect的索引变了,所以最好还是不要引用吧)
- array_map也可以像python中的map一样把函数作用于数组
- 如果常量名是动态的,也可以用函数 constant() 来获取常量的值
- 运算符优先级:new > [ > 类型转换, 为什么不能写 new Obj()->func(), 加括号都不行 (new Obj())->func()
- isset 的含义是检测变量是否设置,并且不是 NULL。与empty区别
直接改变数组的值自 PHP 5 起可以通过引用传递来做到。之前的版本需要需要采取变通的方法:
Example #10 在循环中改变单元
<?php
// PHP 5
foreach ($colors as &$color) {
$color = strtoupper($color);
}
unset($color); /* ensure that following writes to
$color will not modify the last array element */