Php foreach循环不起作用

时间:2017-08-04 08:29:02

标签: php arrays multidimensional-array foreach

你能帮我解决这段代码的问题吗? $mylist是一个数组数组,具有以下结构: $mylist[$key] = Array ( ["name"] => a ["label"] => b ["amount"] => c ["temp"] => d )

问题如下:第一个print_r($value);语句打印正确的数组,但如果我逐个调用数组的值,则该数组似乎为空。 (我从另一个有效的脚本中复制粘贴它......)

$mylist = $_POST['mylist'];
foreach ($mylist as $key => $value) {
            print_r($value);
            echo "<br>";
            echo "name=".$value["name"]."<br>";
            echo "label=".$value["label"]."<br>";
            echo "amount=".$value["amount"]."<br>";
            echo "temp=".$value["temp"]."<br>";
        }

修改

print_r($value)的结果:

Array ( ["name"] => a ["label"] => b ["amount"] => c ["temp"] => d )

var_dump($mylist)的结果:

array(4) { [178]=> array(4) { [""name""]=> string(1) "a" [""label""]=> string(1) "b" [""amount""]=> string(1) "c" [""temp""]=> string(1) "d" } [179]=> array(4) { [""name""]=> string(0) "" [""label""]=> string(0) "" [""amount""]=> string(0) "" [""temp""]=> string(0) "" } [180]=> array(4) { [""name""]=> string(0) "" [""label""]=> string(0) "" [""amount""]=> string(0) "" [""temp""]=> string(0) "" } [181]=> array(4) { [""name""]=> string(0) "" [""label""]=> string(0) "" [""amount""]=> string(0) "" [""temp""]=> string(0) "" } }

编辑2。

$ _POST获取其输入的代码是

'<tr><td><input type="text" name=\'myList['.$_id.']["name"]\' ></td><td><input type="text" name=\'myList['.$_id.']["label"]\' ></td><td><input type="text" name=\'myList['.$_id.']["amount"]\' ></td><td><input type="text" name=\'myList['.$_id.']["temp"]\' ></td></tr>';

2 个答案:

答案 0 :(得分:0)

var_dump输出很奇怪。为什么所有键都被两个双引号括起来?

foreach中,尝试echo $value['"name"'];。如果它有效,您表单中的输入就不正确。

答案 1 :(得分:0)

你的密钥字符串每边都有"

change ["name"] to ["\"name\""]