我想設置一個變量等於我的$ _POST變量的子數組之一。
$array[] = $_POST['contact-info'];
echo $array['email'];
它不會工作,因爲它回聲NULL。
有什麼建議嗎?
我想設置一個變量等於我的$ _POST變量的子數組之一。
$array[] = $_POST['contact-info'];
echo $array['email'];
它不會工作,因爲它回聲NULL。
有什麼建議嗎?
$ _POST根本不是一個多維數組。 echo print_r($_POST,1);
會告訴你什麼是$ _POST。使用時,$ _POST將始終由PHP使用鍵(字符串) - 值(字符串)對填充。如果$ _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'];
?>
$array['email']
從未設置。您可以設置陣列像這樣:
$array[] = $_POST['contact-info'];
因此,假如這是你使用$array
,那麼你會被訪問電子郵件第一次:
echo $array[0]['email'];
如果你不需要$array
是多維的,你可以隨時做:
$array = $_POST['contact-info'];
echo $array['email'];
As ment在其他地方,電子郵件目前是空的。該陣列的結構應符合形式的話,如果你的表格是
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>
show'print_r($ _ POST)' –