求解一个php数组的用法
程序员文章站
2024-01-19 19:37:34
...
看到一句别人写的代码,类似是这样的:
打出来后看,代码中的1变成了数组a的值。。
这个。。从来没这样用过。。
不懂。。
不懂。。
哪里不懂
不懂。。
哪里不懂
哦。。我知道了。是我理解错了
$a = array();$a['key'] = $a['key'] + 1;var_dump($a);
打出来后看,代码中的1变成了数组a的值。。
这个。。从来没这样用过。。
回复讨论(解决方案)
累加,类似于a+=1;
是数组。。。
等价于 $a['key'] = null + 1;
等价于 $a['key'] = null + 1;
不懂。。
等价于 $a['key'] = null + 1;
不懂。。
哪里不懂
等价于 $a['key'] = null + 1; 正解
$a = array();
$a['key'] = $a['key'] + 1; // 这个时候 $a['key']是不存在的,用isset($a['key']) 返回false,所以 $a['key'] = null
$a['key'] + 1 相当于 null +1 因为php会自动将null转为0进行算术运算,所以就是0+1 ,最后$a['key'] = 1了
var_dump($a);
最好不要这样写,php是弱类型语句,想要执行效率高点,最好能事先声明类型,不是让系统去识别
等价于 $a['key'] = null + 1;
不懂。。
哪里不懂
哦。。我知道了。是我理解错了
上一篇: php分隔字符串为数组