你能帮我解决这段代码的问题吗?
$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>';
答案 0 :(得分:0)
var_dump
输出很奇怪。为什么所有键都被两个双引号括起来?
在foreach
中,尝试echo $value['"name"'];
。如果它有效,您表单中的输入就不正确。
答案 1 :(得分:0)
你的密钥字符串每边都有"
,
change ["name"] to ["\"name\""]