【发布时间】:2018-01-19 22:57:25
【问题描述】:
我正在一个数组中搜索已知值 wid 以获取密钥,然后该密钥将帮助我获取 cid 值。
$proximity = array(
'0' => array ('wid' => 4, 'cid' => 100),
'1' => array ('wid' => 1, 'cid' => 50),
'3' => array ('wid' => 2, 'cid' => 50)
);
$key = array_search(2, array_column($proximity, 'wid'));
print_r($key);
print_r($proximity[$key]['cid']);
当我搜索 wid 4 和 1 时,一切正常。
但是,当我搜索 wid: 2 时,我得到了 Undefined offset: 2。
为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
print_r($key);显示什么? -
@JohnConde
'0' => array行键。 -
$key的值为2并且您的数组中没有键为 2 的元素,因此此错误是有道理的 -
那是因为你在 $proximity 数组中的 '2' 位置没有任何值。尝试将 $proximity 数组索引中的最后一个元素更改为 '3' 到 '2'
-
@JohnConde 但我不是按关键字搜索,而是使用 array_column 搜索 wid 并获取密钥。确实存在值为 2 的 wid!
标签: php arrays multidimensional-array