如何在使用PHP的foreach中使用键和值?
问题描述:
我有以下friendDetails阵列输出,如何在使用PHP的foreach中使用键和值?
阵列 ( [0] =>数组 ( [ID] => 1 [如first_name] => Aruun [姓氏] =>萨库马尔 [相片] => JPG )
[1] => Array
(
[id] => 2
[first_name] => senthilkumar
[last_name] => Kumar
[photo] => jpg
)
) 我用下面的代码段,以得到最终输出
foreach($friendDetails as $value){
array_push($friendList, $value[id].".".$value[photo]."-".$value[first_name]." ".$value[last_name]);
}
最终的输出是,
Array
(
[0] => 1.jpg-Aruun Sukumar
[1] => 2.jpg-senthilkumar Kumar
[2] => 18.jpg-senthilkumar sugumar
)
在这里我得到通知错误与精确的输出。我在代码上做了什么错误? 有没有其他方法可以获得最终输出?
答
由于您没有将数组的键放在引号中,因此会出现通知错误。
它应该是:
foreach($friendDetails as $value){
array_push($friendList, $value['id'].".".$value['photo']."-".$value['first_name']." ".$value['last_name']);
}
答
你需要把你的左右键标识报价:
$value['id'] . "." . $value['photo']
等。请参阅“为什么$ foo的[bar]错了?”在http://php.net/manual/en/language.types.array.php
答
在你的阵列值使用语录:
foreach($friendDetails as $value){
array_push($friendList, $value['id'].".".$value['photo']."-".$value['first_name']." ".$value['last_name']);
}
答
$friendList = array();
foreach($friendDetails as $key=> $value){
$friendList[] = $value['id'].".".$value['photo']."-".$value['first_name']." ".$value['last_name']);
}
答
试试这个,你会得到两个键和值:
foreach ($friendDetails as $key_name => $key_value) {
print "Key = " . $key_name . " Value = " . $key_value . "<BR>";
}
答
两件事情:
- 你需要在数组键上加引号(“)在
array_push
(即$value["id"]
) - 确保您在
foreach
之前将$friendList
定义为数组。
工作的示例:
<?php
$friendDetails = array(
array(
'id' => 1,
'first_name' => 'Aruun',
'last_name' => 'Sukumar',
'photo' => 'jpg'
),
array(
'id' => 2,
'first_name' => 'senthilkumar',
'last_name' => 'Kumar',
'photo' => 'jpg'
)
);
$friendList = array();
foreach($friendDetails as $value){
array_push($friendList, $value["id"].".".$value["photo"]."-".$value["first_name"]." ".$value["last_name"]);
}
print_r($friendList);
?>
谢谢,非常helpful.It现在工作 – mymotherland 2011-06-17 06:55:07