2010-08-18 114 views
0

我需要幫助構建一個顯示關聯數組的函數,並且我想將它們插入到變量中。例如我有這個ASSOC數組:獲取關聯數組的每個值

$array[ID] = 1; 
$array[Name] = John; 
$array[age] = 12; 

$array[ID]=2; 
$array[Name] = Mary; 
$array[age] = 14; 

我需要使ID,姓名,年齡作爲變量,所以我可以在一個表中顯示它。當我通過它們遍歷它們時,它每次填滿表格行。它必須是每一個變量怎麼我需要將它們插入到一個網格和顯示網格..然後在那裏我可以更新刪除信息

回答

0

目前,它看起來就好像你用第二人的價值重寫了第一人的價值。

什麼你要找的是一個數組結構,多個維度,就像這樣:

$people = array(
    1 => array('name' => 'John', 'age' => 12), 
    2 => array('name' => 'Mary', 'age' => 14) 
); 

然後,它會很容易打印出表格行:

foreach($people as $id => $person){ 
    print '<tr><td>'.$id.'</td><td>'.$person['name'].'</td><td>'.$person['age'].'</td></tr>'; 
}//foreach 

希望這有助於!

0
foreach($array as $row) { 
    echo $row['ID'],$row['Name'],$row['age']; 
} 
+0

它dosnt作爲變量返回給我...我需要將它們用於變量因爲我需要將它們插入到網格中,我可以編輯更新刪除數據庫中的信息 – Mohamed 2010-08-18 11:54:45

+0

您的數組已經準備好了變量。你只需要遍歷它來獲取存儲在其中的值。 – Mchl 2010-08-18 12:00:28

+1

@Mohamed $ row ['Name']與$ name是同一個變量。使用它以及 – 2010-08-18 12:08:33

0

林不知道你想做什麼,但也許它是你正在尋找的extract功能。

0
foreach($array as $key => $value){ 
    echo $key. ' = '.$value."; 
} 

會給你

ID = 1個 名稱=約翰 年齡= 12

而且一定要做好$array["ID"] = ...,而不是$array[ID] = ...

0

你可以這樣做:

foreach($array as $user) { 
    list($age, $name, $id) = array_values($user); 
    echo $id, $name, $age; 
} 

但是,像其他人已經指出,這是毫無意義的,因爲你可以更方便地直接從通過其關聯按鍵陣列讀取的值。您也不必運行array_values來分配數組值,然後才能將其分配給list

+0

'extract()'函數,上面提到,看起來更優雅 – 2010-08-18 12:18:40

+0

@ColShrapnel with'extract'你不需要做'array_values',但變量聲明是隱式的。有了'list',你可以將它們命名爲任何你想要的。只是顯示替代品。IMO使用關聯密鑰是最簡單和最有效的解決方案。 – Gordon 2010-08-18 12:39:04

1

我會使用提供的答案之一,但如果你真的真的想(再次,我沒有看到一個原因,但什麼是地獄才知道)使用extract()

<?php 
$people = array(
    array('id' => 1, 'name' => 'John', 'age' => 12), 
    array('id' => 2, 'name' => 'Mary', 'age' => 14) 
); 
foreach($people as $row) { 
    extract($row); 
    echo "Id: $id, Name: $name, Age: $age\n"; 
} 
//Prints: 
//Id: 1, Name: John, Age: 12 
//Id: 2, Name: Mary, Age: 14