2013-05-29 49 views
-1

在'學習mysql'的書中,我遵循下面這一行(簡化...它從服務器獲取數據並執行其他內容,但是我編輯了它,因此需要關注主要部分)。在html/php腳本的複選框輸入聲明中,「name =」array []「是什麼?

<input type="checkbox" value="1" name="todelete[]" /> 

它是做什麼的,是否有這種語法的名稱? 我猜,我們不指像$ _ POST [todelete []

書中使用它在foreach循環:

foreach ($_POST['todelete'] as $delete_id) 

我不能銷我的手指上。 ..但是關於這點的事情並沒有點擊我過去如何使用name屬性。

回答

2

它只是聲明一個數組來接受多個答案。

HTML::

<input name="data[customer][firstname]" type="text" /> 
<input name="data[customer][lastname]" type="text" /> 

PHP:

$firstname = $_POST['data']['customer']['firstname']; 

在您的例子中,數據將被存儲

此外,還可以在一個形式輸入使用一個多維數組在$_POST ...

$_POST['todelete'] 

...這將是一個複選框值的數組。

爲了使foreach有意義,您需要了解相關複選框的相關內容,以便對數據做一些有用的操作。您可以輕鬆地使用...

$post = $_POST['todelete']; 

$post[0] 
$post[1] 
... etc. 

特別有用的是PHP可以處理索引表單名稱的方式。例如,你可以有...

<input name="employee[0][firstname]" value="John"/> 
<input name="employee[0][lastname]" value="Smith"/> 

<input name="employee[1][firstname]" value="Joe"/> 
<input name="employee[1][lastname]" value="Bloggs"/> 

,它將返回值的數組作爲$_POST['employee'] ...

array (
    0 => array('firstname' => 'John', 'lastname' => 'Smith'), 
    1 => array('firstname' => 'Joe', 'lastname' => 'Bloggs'), 
) 
1

這只是一個數組,它解釋爲PHP數組。你不會像foo[arr[]]那樣訪問這個數組,但是像foo['arr']這會給你數組循環。想想這個例子:

$post = array('todelete' => [1,2,3,4]); 
$todelete = $post['todelete']; 
var_dump($todelete); //=> [1,2,3,4] 
相關問題