PHP数组不计算
我几乎不好意思提出这个,但我感到困惑,我在一个最后期限。可能是我看不到的一个简单的打字错误 我有这三行代码:(PHP数组不计算,php,arrays,Php,Arrays,我几乎不好意思提出这个,但我感到困惑,我在一个最后期限。可能是我看不到的一个简单的打字错误 我有这三行代码:($p是POST数组的一部分) var_dump($_POST["value"]["test"]); 为什么$p['fn2']不打印?这让我快发疯了。我缩短了这个例子,但有更多的FN在那里太多,没有将单独显示,但我可以看到他们当我转储数组。啊 更新:根据建议,多一点代码。。。这在开始的foreach循环中: array(10) { ["'fn1'"]=> string(12
$p
是POST
数组的一部分)
var_dump($_POST["value"]["test"]);
为什么$p['fn2']
不打印?这让我快发疯了。我缩短了这个例子,但有更多的FN在那里太多,没有将单独显示,但我可以看到他们当我转储数组。啊
更新:根据建议,多一点代码。。。这在开始的foreach循环中:
array(10) {
["'fn1'"]=> string(12) "uobQEC8IGQcd"
["'fn2'"]=> string(12) "P1ZVSXBJzloE"
["'state1'"]=> string(6) "active"
["'state2'"]=> string(6) "active"
["'crit1'"]=> string(2) "27"
["'crit2'"]=> string(2) "24"
["'warn1'"]=> string(2) "18"
["'warn2'"]=> string(2) "12"
["'owner2'"]=> string(5) "Adobe"
["'name2'"]=> string(5) "Rack1"
}
更新2:
VARDUMP:
$('<input>').attr({ type: 'hidden', name: "pairs["+fn1+"]['fn1']", value:fn1 }).appendTo('form');
$('<input>').attr({ type: 'hidden', name: "pairs["+fn1+"]['fn2']", value:fn2 }).appendTo('form');
更新3:我正在像这样设置post变量数组(在js中)
$('').attr({type:'hidden',name:'pairs[“+fn1+”]['fn1']”,value:fn1}).appendTo('form');
$('').attr({type:'hidden',name:'pairs[“+fn1+”]['fn2']”,value:fn2}).appendTo('form');
啊哈!Vardump透露了答案。。。当我从返回的javascript设置数组时,我正在这样做:
$('<input>').attr({ type: 'hidden', name: "pairs['+fn1+'][fn1]", value:fn1 }).appendTo('form');
$('').attr({type:'hidden',name:'pairs[“+fn1+”]['fn1']”,value:fn1}).appendTo('form');
与此相反:
<?php
$p = array ( "state1" => "active",
"state2" => "active",
"crit1" => "27",
"crit2" => "24",
"warn1" => "18",
"warn2" => "12",
"owner2" => "Adobe",
"name2" => "Rack1"
);
echo "<pre>";
print_r($p);
echo "Foo:".$p['state2'];
?>
$('').attr({type:'hidden',name:'pairs['+fn1+'][fn1]”,value:fn1}).appendTo('form');
数组元素周围不应该有单引号 它可能不起作用,因为您将键括在两组引号中,这会导致未定义的索引错误。如果删除键周围的一对引号,则应该可以: 注意你的按键:[“'fn1'”
<pre>Array
(
[state1] => active
[state2] => active
[crit1] => 27
[crit2] => 24
[warn1] => 18
[warn2] => 12
[owner2] => Adobe
[name2] => Rack1
)
Foo:active
输出:
数组
(
[state1]=>激活
[state2]=>激活
[crit1]=>27
[crit2]=>24
[warn1]=>18
[warn2]=>12
[owner2]=>Adobe
[name2]=>Rack1
)
傅:活跃
如果您用这种方式编写html
var_dump($_POST["value"]["test"]);
var_dump($_POST["value"]["'test'"]);
否则,如果你这样做
因为现在你应该这样访问
换句话说,引号是自动添加的
<pre>Array
(
[state1] => active
[state2] => active
[crit1] => 27
[crit2] => 24
[warn1] => 18
[warn2] => 12
[owner2] => Adobe
[name2] => Rack1
)
Foo:active
<form method="post" action="test.php">
<input name="value[test]"></input>
<button type="submit">submit!</button>
</form>
var_dump($_POST["value"]["test"]);
<form method="post" action="test.php">
<input name="value['test']"></input>
<button type="submit">submit!</button>
</form>
var_dump($_POST["value"]["test"]);
var_dump($_POST["value"]["'test'"]);