2010-09-15 38 views
2

請幫助我,我在我的項目中遇到了這個腳本。這是HTML數組還是PHP數組?這是html數組還是php數組?

<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" /> 
+10

什麼是HTML數組? – 2010-09-15 20:46:51

回答

3

這兩者之間的結合。例如,以下內容:

<input type='text' name='arr[foo]' value='fooValue' /> 
<input type='text' name='arr[bar]' value='barValue' /> 

交房時,這將是由PHP讀取到名爲arr一個數組,看起來像這樣:

$_POST['arr'] (
    'foo' => 'fooValue', 
    'bar' => 'barValue' 
) 

這使得能夠將數組傳遞給你的PHP腳本要麼通過生成PHP,要麼通過JavaScript或類似的方法來簡化。

你必須使用PHP陣列生成一些HTML,然後可以理解爲,在未來的PHP腳本數組,但HTML本身並n要擁有一個數組的概念的具體例子。

+0

你真是太親密了hehe – RobertPitt 2010-09-15 20:53:07

+0

@RobertPitt忽略我的格式不正確的語義正確的方式,我錯過了什麼? – Tarka 2010-09-15 21:05:12

+0

您解釋了PHP如何接收POST數據,而不是PHP如何實際與HTML數據結合使用,例如'' – RobertPitt 2010-09-15 21:11:57

3

它看起來像是PHP腳本的一部分。我想象中的其餘部分看起來是這樣的:

$html = '<input type="hidden" name="newsletter[' . $var["id"] . 
     '][someid]" value="' . $var['id'] . '" />' 

當評估應該產生類似下面的HTML字符串:

<input type="hidden" name="newsletter[123][someid]" value="123" /> 
3

讓我們打破這種下來..

<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" /> 

沒有PHP ...

<input type="hidden" name="newsletter[removed][someid]" value="removed" /> 

是一個HTML輸入字段設置張貼作爲數組。如果你調用$_POST['newsletter']它會返回一個數組。所以這部分是一個HTML數組。

$var["id"] PHP變量是一個數組。它調用$ var關聯數組的「id」索引。

所以它既是一個HTML數組又是一個PHP數組。如果要執行這個領域,並使用下面的代碼片斷分析PHP後的數據:

if (isset($_POST['newsletter'])) 
die(print_r($_POST)); 

$var = array('id' => 2); // assume $var['id'] = 2 

echo "<form method='post'>"; 
echo '<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" />'; 
echo "<input type='submit' />"; 
echo "</form>"; 

一旦提交,你會看到在$ _ POST [「通訊」]

Array 
(
    [newsletter] => Array 
     (
      [2] => Array 
       (
        [someid] => 2 
       ) 
     ) 
) 
0

HTML以下數組沒有數組的概念。

所有輸入將成爲DOM中的HTMLFormElementelements集合的一部分(可通過客戶端JS訪問)。

輸入的名稱將,當交給PHP腳本,原因PHP將其擴展到在在$_REQUEST分配給newsletter鍵另一個關聯陣列分配給一個鍵的關聯數組分配給一個鍵的值以及$_GET$_POST超全局數組。

相關問題