【发布时间】:2011-07-24 11:24:40
【问题描述】:
这是我用来在数组中查找请求项的键的方法,
$items = array
(
'0' => array
(
'mnu_id' => '1',
'pg_url' => 'home'
),
'1' => array
(
'mnu_id' => '5',
'pg_url' => 'about'
),
'2' => array
(
'mnu_id' => '6',
'pg_url' => 'venues'
)
);
所以如果我请求“venues”的值,
while ($current = current($items))
{
if ($current['pg_url'] == 'venues') {
$current_key = key($items);
}
next($items);
}
echo $current_key;
我得到了 2 的密钥。
我不太喜欢这种方法,因为它有点冗长,并且在使用while() 循环数组时让我感到困惑。我不明白为什么我也必须在代码中使用next()!
不知道有没有比这更好的方法来获取密钥?
【问题讨论】:
-
你必须使用 next() 因为它推进了数组指针。请在 PHP 手册中查找 current/next/key。
标签: php multidimensional-array key