2011-06-17 31 views
0

我有以下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 
) 

在這裏我得到通知錯誤與精確的輸出。我在代碼上做了什麼錯誤? 有沒有其他方法可以獲得最終輸出?

回答

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

+0

謝謝,非常helpful.It現在工作 – mymotherland 2011-06-17 06:55:07

0

在你的陣列值使用語錄:

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

試試這個,你會得到兩個鍵和值:

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

兩件事情:

  • 你需要在數組鍵上加引號(「)在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); 

?>