当我尝试通过密钥访问数组值时,我收到一个奇怪的错误。
这是我拥有的数组:
array:4 [▼
10 => "mr"
20 => "ms"
30 => "mrs"
40 => "dr"
]
当我尝试
时echo $titles[$user->title]
我收到未定义索引错误,( $ user-> title 可以包含数组键中的4个值之一)
当我尝试例如
时echo $titles[10]
我正在先生。当我回复 $ user-> title 时,我得到 10 。 有谁知道这里发生了什么?
答案 0 :(得分:3)
由于此类测试返回了正确的值:
$titles = [
10 => "mr",
20 => "ms",
30 => "mrs",
40 => "dr"
];
echo $titles[10];
echo "\n";
echo $titles['10'];
echo "\n";
我只能猜测你在title
属性中有空格或不可见的符号。
修复只是将其转换为整数的类型转换:
echo $titles[(int)$user->title]