我已阅读了很多帖子,但未能找到解决问题的方法。
我有一个名为“Water”的$_POST
数组,$_POST['Water']
,其内容为:
[Water] => Array ( [0] => 55.0 [1] => 22 )
是否可以在foreach循环中使用帖子的名称,以便$key
可以使用名称“Water”:
foreach($_POST['Water'] as $key => $val) {
$fields[] = "$field = '$val'";
//echo "Key: $key, Value: $val<br/>\n";
}
非常感谢你的时间。
答案 0 :(得分:2)
不是真的。 foreach()
对数组的内容进行操作。无论实际包含该数组的是什么都超出了foreach的观点。如果您想在其他地方动态使用Water
密钥,则必须自己执行此操作:
$key = 'Water'
foreach($_POST[$key] as $val) {
$fields[] = "$key = '$val'";
}
答案 1 :(得分:0)
如果我读得对,你基本上希望$field='water'
内有foreach
。这可以通过重新思考我们构建foreach
的方式来完成。
您只需要将字段值设为变量,然后在需要值的任何地方传递使用。
$field = 'Water';
foreach($_POST[$field] as $key => $val) {
$fields[] = "$field = '$val'";
//echo "Key: $key, Value: $val<br/>\n";
}
这种方法的优点是,如果你改变主意并稍后调用$ _POST键,那么“液体”需要编辑一行,这就是全部。此外,如果您的foreach
是函数的一部分,$ field可以是函数参数。以迂回的方式,您实际上已经非常接近一些代码重用原则。