2013-10-11 82 views
-2

我有發佈到我的表單處理器的動態字段名稱。名稱格式爲editnote|9|9是要編輯的註釋的ID。如果我使用此代碼:

foreach($_POST as $key) { 

    $editcheck = explode('|', $key); 

    if($editcheck[0] == 'editnote') { 
     echo $editcheck[1]; 
    } 
} 

我可以正確獲取9的ID,但我無法獲得該值。我曾嘗試:

foreach($_POST as $key => $value) { 

    $editcheck = explode('|', $key); 

    if($editcheck[0] == 'editnote') { 
     $clsCNA->updatenote($editcheck[1], $_POST[$key]); 
    } 
} 

但有了這個代碼,我只能得到價值,而不是鍵名來獲得我想要編輯的音符ID。

所以基本上,我想foreach($_POST as $key => $value)以某種方式讓我得到$key的名稱,所以我可以爆炸它,以獲得身份證號碼。

任何想法?

我想送我的課是這樣的:

$clsCNA->updatenote(ID From key name, Value of key) 
+0

我想你可能需要添加一些額外的數據。你試圖傳遞給你的函數的值是什麼?來自$ _REQUEST的值,其中'editnote | 9'是關鍵? – andrewsi

+1

如果您使用foreach的'$ key => $ value'語法,那麼您應該已經在名爲'$ value'的變量中包含該值 - 那麼爲什麼要再次從'$ _POST'中取出它...? – CBroe

+0

在HTML端,表單將以POST「editnote | 9」的形式發送,值將是用戶在表單中輸入的值。 –

回答

1

如果我用這個代碼:

foreach($_POST as $key) { 

    $editcheck = explode('|', $key); 

    if($editcheck[0] == 'editnote') { 
     echo $editcheck[1]; 
    } 
} 

我能正常得到9的ID。 ..

foreach($_POST as $key => $value) { 

CUT ...

作爲PHP's foreach使用一個變量將只需要數組的值循環。所選的確切名稱並不能確定變量的含義。同樣通過方法調用找到。 這將把納入$key變量。

在第二個示例中,您使用的是$key => $value語法。此處循環將放入變量$key變量,將放入$value變量。

這意味着您的$key變量在兩個示例中都不相同。在一個它擁有數組數組在其他它擁有

+0

謝謝,解決了它。 –

+0

@RobertScofield:你的歡迎:) –

相關問題