我需要找到与以下数组中最后一次出现 (id = 100001203541047) 相对应的键:
[0] => Array
(
[id] => 10152583762905798_10152583800415798
[from] => Array
(
[id] => 100001203541047
[name] => Gangareddy Chealimealla
)
[message] => Desi Flipkart
[created_time] => 2014-07-30T07:30:34+0000
[like_count] => 0
[user_likes] =>
[can_comment] => 1
)
[1] => Array
(
[id] => 10152583762905798_10152583786375798
[from] => Array
(
[id] => 100001430479186
[name] => Pratik Das
)
[message] => flipkart rules! (y)
[created_time] => 2014-07-30T07:16:56+0000
[like_count] => 0
[user_likes] =>
[can_comment] => 1
)
[2] => Array
(
[id] => 10152583762905798_10152583802415798
[from] => Array
(
[id] => 100001203541047
[name] => Gangareddy Chealimealla
)
[message] => Desi Flipkart
[created_time] => 2014-07-30T08:30:34+0000
[like_count] => 0
[user_likes] =>
[can_comment] => 1
)
我尝试了以下代码,但它返回了 2 个位置。
foreach($arr as $key => $array)
{
if ( $array['from']['id'] === $id)
echo $key."\n\n";
}
}
为什么这不只显示最后一个?
您已经编写的代码几乎可以工作。问题是,每次在 foreach 循环中遇到与 id 匹配的键时,它都会立即打印该键。
foreach($arr as $key => $array) {
if ( $array['from']['id'] === $id) {
echo $key."\n\n";
}
}
相反,如果您将键存储在变量中,则循环完成后,变量中的值将是最后一个,您可以打印它。
$last = "";
foreach($arr as $key => $array) {
if ( $array['from']['id'] === $id) {
$last = $key;
}
}
echo $last."\n\n";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)