如何使用PHP在foreach中使用键和值?

时间:2011-06-17 06:49:04

标签: php

我有以下friendDetails数组输出,

阵 (     [0] =>排列         (             [id] => 1             [first_name] => Aruun             [last_name] =>萨库马尔             [photo] => 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
)

这里我收到确切输出的通知错误。我在代码上做错了什么? 有没有其他方法可以获得最终输出?

6 个答案:

答案 0 :(得分:1)

您收到通知错误,因为您没有将数组的键放在引号中。

应该是:

foreach($friendDetails as $value){                       
    array_push($friendList, $value['id'].".".$value['photo']."-".$value['first_name']." ".$value['last_name']);                    
}

请参阅http://php.net/manual/en/language.types.array.php

答案 1 :(得分:1)

您需要在密钥标识符周围加上引号:

$value['id'] . "." . $value['photo']

等。请参阅“为什么$ foo [bar]错了?”在http://php.net/manual/en/language.types.array.php

答案 2 :(得分:1)

试试这个你将获得关键和价值:

  foreach ($friendDetails as $key_name => $key_value) {
   print "Key = " . $key_name . " Value = " . $key_value . "<BR>";
  }

答案 3 :(得分:1)

两件事:

  • 您需要在array_push(即$value["id"]
  • 中的数组键周围加上引号(“)
  • 确保在$friendList之前将foreach定义为数组。

一个工作示例:

<?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);

?>

答案 4 :(得分:0)

在数组值周围使用引号:

foreach($friendDetails as $value){                         
   array_push($friendList, $value['id'].".".$value['photo']."-".$value['first_name']." ".$value['last_name']);                     
} 

答案 5 :(得分:0)

$friendList = array();    
foreach($friendDetails as $key=> $value){                       
        $friendList[] =  $value['id'].".".$value['photo']."-".$value['first_name']." ".$value['last_name']);                    
    }