我有以下数组内容:
Array ( [achternaam] => Jansen [roepnaam] => Theo )
现在我想使用此代码
foreach ($values as $r) {
$achternaam = $r['achternaam'];
$roepnaam = $r['roepnaam'];
}
当想要回显$ achternaam和$ voornaam时,值为空。 有谁知道如何将这些变量绑定到彼此。
结果应该是$ achternaam = Jansen和$ roepnaam = Theo。
Tnx的帮助!
答案 0 :(得分:1)
$values = array(
'achternaam' => 'Jansen',
'roepnaam' => 'Theo'
);
$values
的元素是字符串,而不是数组。要访问achternaam
和roepnaam
值,您需要删除foreach:
$achternaam = $values['achternaam'];
$roepnaam = $values['roepnaam'];
如果achternaam
和roepnaam
键的位置没有变化,您也可以使用list
:
list($achternaam, $roepnaam) = $values;
如果密钥的顺序为achternaam
,roepnaam
,则仅。即需要在$values['achternaam']
之前分配$values['roepnaam']
。
答案 1 :(得分:0)
这应该有效:
$values = array('achternaam' => 'Jansen', 'roepnaam' => 'Theo');
list($achternaam, $roepnaam) = $values;
试试吧......
答案 2 :(得分:0)
如果您想拥有多个人,请使用嵌套数组:
<?php
$values = array(
array(
'achternaam' => 'Jansen',
'voornaam' => 'Theo',
'club' => 'Ajax'
)
);
foreach ($values as $r) {
$achternaam = $r['achternaam'];
$roepnaam = $r['roepnaam'];
echo $roepnaam . ' ' . $achternaam;
}
如果你想继续使用那个数组,你可以不用预先做到这一点:
<?php
$values = array(
'achternaam' => 'Jansen',
'voornaam' => 'Theo',
'club' => 'Ajax'
);
$achternaam = $values['achternaam'];
$roepnaam = $values['roepnaam'];
echo $roepnaam . ' ' . $achternaam;
答案 3 :(得分:0)
看起来你误解了foreach
的工作方式。对于循环的每次迭代,变量$r
都有一个字符串值 - 第一次是“Jansen”,第二次是“Theo”。
您尝试实现的结果可以这样完成:
foreach($values as $k => $r) {
$$k = $r;
}
请注意数组密钥的来源 - 因为此代码可能会覆盖脚本中的其他敏感变量。
答案 4 :(得分:0)
一行简单的代码怎么样:
extract($values)