我想知道它是否可能,循环一个数组,但每个键都作为一个变量?
我的当前代码如下,带有预期输出示例:
<?php
$arr = array(array('id' => 24, 'name' => 'luigi'), array('id' => 12, 'name' => 'luiginsd'));
foreach ($arr as $value) {
echo $id . '<br />';
}
/*
which would output:
24<br />
12<br />
*/
?>
感谢所有帮助。
答案 0 :(得分:5)
使用extract
:
foreach ($arr as $value) {
extract($value);
echo $id.'<br />';
}
extract
将遍历关联数组并初始化一个变量(可能使用变量变量),该变量与包含相关值的当前作用域中数组中的键同名。
只是为了好玩,这就是我认为extract
在幕后所做的事情:
foreach($array as $key => $value) {
$$key = $value;
}
请注意,extract
不必须将这些变量导入全局范围,它们会导入当前符号表。
答案 1 :(得分:3)
我建议你避免extract()
;它使跟踪变量的起源/遗产变得不可能(没有假设或代码执行)。更清洁的方法是:
foreach ($arr as $value) {
echo $value['id'] . '<br />';
}