Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组不计算_Php_Arrays - Fatal编程技术网

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'"]);