Php $\u后数组问题
我有以下代码:Php $\u后数组问题,php,arrays,post,Php,Arrays,Post,我有以下代码: $array = 'user_profile'; $var_name = 'postcode'; if ( isset($_POST['user_profile']) ) { echo '<br />Var name ('.$var_name.')<br />'; print '<pre>';print 'Keys<br>';print_r(array_keys($_POST[$array]));print '<
$array = 'user_profile';
$var_name = 'postcode';
if ( isset($_POST['user_profile']) ) {
echo '<br />Var name ('.$var_name.')<br />';
print '<pre>';print 'Keys<br>';print_r(array_keys($_POST[$array]));print '</pre>';print '<br />';
print '<pre>';print 'POST user_profile<br />';print_r($_POST[$array]);print '</pre>';print '<br />';
print '<pre>';print 'POST dump<br />';var_dump($_POST[$array]);print '</pre>';print '<br />';
echo '<br />{'.$_POST[$array][$var_name].'}<br /><br />';
}
die();
第153行带有:echo'
{.$\u POST[$array][$var\u name].}
代码>
我整个上午都在试图找出我的错误在哪里
谁能帮帮我吗?。谢谢
[编辑]
我做了一些修改,试图澄清所问的问题。显然,代码更长,但您看到的位位于函数的开头。没有任何其他东西能帮助你理解什么是幸福。输出正是我在浏览器中得到的,即使是最后一个括号,顺便说一句,我不明白为什么会有,第一个可以,但第二个是在通知后打印的???您的关键字中有单引号[“'postcode'”
:
echo'
{.$\u POST[$array][“$var\u name''.].}
;
显然$\u POST['user\u profile']的键带有附加引号
您可以使用
或者通过修复生成这些奇怪的额外单引号的表单(”
)。第152行的结果是什么?打印post数组。这是您在标题下转储的同一数组吗?POST user_profile
?依我看,它应该可以工作。你能发布一个var\u dump()
而不是print\r()
吗?可能是邮政编码
键出了问题。是否有代码没有显示给我们?您确定要向我们显示正确代码的正确输出吗?您确定在测试之前没有忘记上传代码更改吗?我觉得这里发生了一些你没有告诉我们的事情。你能发布字段html部分吗?最后的{}
在那里,因为你在最后的echo
调用中有它们。通知是在执行echo
之前生成的。@Syscall,这就是我们了解到print\r
从不在数组键周围添加任何引号的原因。:-)准确的眼镜蛇快。我会一直使用转储而不是打印。听起来印刷业不是那么“专业”,不是吗?@Carlos我更喜欢var\u dump()
。另外,因为false
未显示在print\u r()
中。这是我的错误:在输入中,我写了name=“user\u profile['postcode]”,而不是name=“user\u profile[postcode]”。再次感谢。很抱歉,是HTML的问题。你是对的,这是需要的。不客气,不用担心。不要忘记在下一个问题中添加尽可能多的信息;)
Var name (postcode)
Keys
Array
(
[0] => 'address_1'
[1] => 'address_2'
[2] => 'address_3'
[3] => 'address_4'
[4] => 'address_5'
[5] => 'postcode'
[6] => 'phone'
)
POST user_profile
Array
(
['address_1'] => Templeton House
['address_2'] => 62 Templeton Street, Suite 22
['address_3'] =>
['address_4'] => Glasgow
['address_5'] =>
['postcode'] => G40 1DA
['phone'] => 07222222
)
POST dump
array(7) {
["'address_1'"]=>
string(15) "Templeton House"
["'address_2'"]=>
string(29) "62 Templeton Street, Suite 22"
["'address_3'"]=>
string(0) ""
["'address_4'"]=>
string(8) "Glasgow "
["'address_5'"]=>
string(0) ""
["'postcode'"]=>
string(7) "G40 1DA"
["'phone'"]=>
string(8) "07222222"
}
Notice: Undefined index: postcode in C:\xampp\htdocs\xxxxxx.com\src\controller\app\userController.php on line 153
{}
echo '<br />{'.$_POST[$array]["'$var_name'"].'}<br /><br />';
$var_name = "'postcode'";