0
不知道如何指定問題更具體和更有意義。處理空數組元素的最佳方法是什麼?
基本上我有一個客戶信息模塊的能力添加多個聯繫人爲每一個客戶,它會類似的東西:
<p>Contacts</p>
<ul>
<li>
<label for="name">Name: <label><input type="text" name="name[]" value="" />
<label for="lname">Last Name: <label><input type="text" name="lname[]" value="" />
<label for="phone">Phone: <label><input type="text" name="phone[]" value="" />
</li>
<li>
<label for="name">Name: <label><input type="text" name="name[]" value="" />
<label for="lname">Last Name: <label><input type="text" name="lname[]" value="" />
<label for="phone">Phone: <label><input type="text" name="phone[]" value="" />
</li>
<li>
<label for="name">Name: <label><input type="text" name="name[]" value="" />
<label for="lname">Last Name: <label><input type="text" name="lname[]" value="" />
<label for="phone">Phone: <label><input type="text" name="phone[]" value="" />
</li>
</ul>
這是一個粗略的例子來說明你的想法。當該表單被提交給php腳本,並且例如第二個聯繫人詳細信息中的姓氏爲空時,當我試圖循環訪問所有聯繫人時,出現偏移錯誤?
<?php
$total = count($_POST['name']);
$name = $_POST['name'];
$lname = $_POST['lname'];
$phone = $_POST['phone']
for($x = 0 ; $x > $total; $x)
{
echo 'Name: '.$name[$x].' Last name: '.$lname[$x].' Phone: '.$phone[$x];
}
?>
我沒有測試這個特殊的片段,只在這裏向您展示的想法(可能是幾個你也有類似的問題)。
試試'$ name = $ _POST ['name']? $ _POST ['name']:'';'**或**'$ name = $ _POST ['name'] ==''? '':$ _POST ['name'];' –
我使用'isset'和'empty'的組合來確保項目存在並且它有一個值。在某些情況下,'empty'將不起作用,因爲您希望接收0,''或false作爲有效值。在這種情況下,您需要應用更多驗證。 – Gavin
會記住你的建議傢伙,謝謝 – eloleon