【发布时间】:2015-08-28 20:07:20
【问题描述】:
在与我工作的朋友讨论时,我们发现 PHP 有一些奇怪的地方。让我们获取以下代码:
<?php
$leo = false;
$retorno = $leo[0];
var_dump($retorno);
var_dump() 的返回是NULL。现在,问题是,如果我们试图以array 的形式访问bool,为什么会返回NULL?
正确的行为不是抛出异常告诉我们,我们正在尝试以数组形式访问非数组对象(在本例中为布尔变量)?
你们怎么看?
【问题讨论】:
-
直到 PHP 5.4,如果你试图获取字符串的字符串索引,它会将字符串强制转换为 0 并获取单词的第一个字母,即
$s = 'asdf'; echo $s['f'];。现在它会给你一个警告,说偏移量不存在。 -
那么这个问题我们在哪里?