나는 이것을 처리하기가 거의 당혹 스럽지만 당황스럽고 기한이 만료되었습니다. 아마도 내가 볼 수없는 단순한 오타 일 것입니다.PHP 배열이 평가되지 않음
I는 코드의 다음 세 라인을 ($p
가 POST
어레이의 일부이다)
echo "<pre>";
print_r($p);
echo "Foo:".$p['fn2'];
출력이된다.
Array
(
['fn1'] => uobQEC8IGQcd
['fn2'] => P1ZVSXBJzloE
)
Foo:
왜 $p['fn2']
가 인쇄되지 않습니까? 이것은 나를 미치게합니다. 이 예제를 줄 였지만 거기에 더 많은 FN이 있고 아무 것도 개별적으로 표시되지 않지만 배열을 덤프 할 때 볼 수 있습니다. Arrrgh!
UPDATE : 제안에 좀 더 많은 코드 ...이 시작되는 foreach 루프 안에 :
foreach ($_POST['pairs'] as $key=>$p) {
UPDATE 2
VARDUMP :
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"
}
UPDATE 3 :이 같은 post 변수 배열을 설정합니다 (js)
$('<input>').attr({ type: 'hidden', name: "pairs["+fn1+"]['fn1']", value:fn1 }).appendTo('form');
$('<input>').attr({ type: 'hidden', name: "pairs["+fn1+"]['fn2']", value:fn2 }).appendTo('form');