我正在尝试将变量设置为等于$ _POST变量的一个子数组。
$array[] = $_POST['contact-info'];
echo $array['email'];
虽然它回应了NULL,但它无法正常工作。
有什么建议吗?
答案 0 :(得分:1)
您不需要使用方括号将此子数组分配给变量。
$array = $_POST['contact-info'];
echo $array['email'];
答案 1 :(得分:0)
$ _ POST简直不是一个多维数组。 echo print_r($_POST,1);
将显示$ _POST中的内容。使用时,PHP将使用键(字符串) - 值(字符串)对为您填充$ _POST。如果$ _POST确实包含子数组,那么它可能由您自己或您正在使用的某个框架填充。
现在我猜测contact-info
是您提交的表单的表单名称。在阅读提交的表格时,表格名称并不重要。您可以通过发送字段的名称直接访问发送的数据..
例如,如果你有:
<form name="contact-info" action="yourscript.php" method="post">
Please enter your e-mail address:<br/>
<input name="email" type="text" value="" />
</form>
然后在你的PHP脚本中你应该:
<?php
echo "You just entered: " . $_POST['email'];
?>
答案 2 :(得分:0)
$array['email']
。您可以像这样设置数组:
$array[] = $_POST['contact-info'];
假设这是您第一次使用$array
,那么您将通过以下方式访问电子邮件:
echo $array[0]['email'];
如果您不需要$array
多维,您可以随时执行:
$array = $_POST['contact-info'];
echo $array['email'];
答案 3 :(得分:0)
如其他地方所述,该电子邮件目前是空的。如果您的表单是
,则数组的结构应与表单匹配name="contact-info[email]"
然后在PHP中,您可以访问
$contact_info = $_POST['contact-info'];
$email = $contact_info['email'];
OR
$email = $_POST['contact-info']['email'];
另外,在调试数组时,尝试更清晰一点,它可以更容易地发现关联。
<pre>
<?php print_r($_POST);?>
</pre>