获取关联数组的每个值

时间:2010-08-18 11:50:23

标签: php

我需要帮助构建一个显示关联数组的函数,我想将它们插入变量中。例如,我有这个assoc数组:

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

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

我需要将ID,名称,年龄作为变量,以便我可以在表格中显示它。当我每次填充表格行时我都会遍历它们。它必须是每一个变量因为我需要将它们插入网格并显示网格..然后我可以更新删除信息

6 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我不确定你想要做什么,但也许这是你正在寻找的extract功能。

答案 3 :(得分:0)

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

会给你

ID = 1 姓名=约翰 年龄= 12

另请务必$array["ID"] = ...代替$array[ID] = ...

答案 4 :(得分: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

希望这有帮助!

答案 5 :(得分:0)

你可以这样做:

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

但正如其他人已经指出的那样,这是毫无意义的,因为您可以通过关联键更直接地从数组中读取值。您也不必运行array_values来分配数组值,然后才能使用list进行分配。