Php 获取关联数组的每个值

Php 获取关联数组的每个值,php,Php,我需要帮助构建一个显示关联数组的函数,我想将它们插入变量中。例如,我有一个assoc数组: $array[ID] = 1; $array[Name] = John; $array[age] = 12; $array[ID]=2; $array[Name] = Mary; $array[age] = 14; 我需要将ID、name、age作为变量,以便在表中显示它。当我每次循环它们时,它会填充表行。它必须是每个变量,因为我需要将它们插入网格并显示网格。。我不知道你到底想做什么,但也许这就是你想

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

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

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

我需要将ID、name、age作为变量,以便在表中显示它。当我每次循环它们时,它会填充表行。它必须是每个变量,因为我需要将它们插入网格并显示网格。。我不知道你到底想做什么,但也许这就是你想要的功能

 foreach($array as $row) {
    echo $row['ID'],$row['Name'],$row['age'];
 }
foreach($array as $key => $value){
  echo $key. ' = '.$value.";
}
我会给你

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


另外,请确保执行
$array[“ID”]=…
而不是
$array[ID]=…

当前,您似乎正在用第二个人的值覆盖第一个人的值

您需要的是一个具有多个维度的数组结构,如下所示:

$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
foreach($id=>$person的人员){
打印“.$id..”.$person['name'..”.$person['age'..”;
}//弗雷奇
希望这有帮助

您可以执行以下操作:

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

但正如其他人已经指出的,这是毫无意义的,因为您可以更轻松地通过关联键直接从数组中读取值。您也不必运行
array\u values
来分配数组值,然后才能分配它们。

我会使用提供的答案之一,但如果您真的想(再说一遍,我看不出原因,但我知道他妈的是什么)使用


它不会作为变量返回给我。。。我需要在变量中使用它们,因为我需要将它们插入一个网格中,在那里我可以编辑更新删除数据库中的信息您的数组是一个变量。只需对其进行迭代即可获得存储在其中的值。@Mohamed$row['Name']与$Name是同一个变量。也可以使用它,上面提到的
extract()
函数似乎更有用elegant@ColShrapnel使用
extract
不必执行
array\u值
,但变量声明是隐式的。使用
list
您可以随意命名它们。不过,只是展示了其他选择。IMO使用关联键是最简单、最有效的解决方案。
<?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