2012-11-10 90 views
1

可能重複:
Able to see a variable in print_r()'s output, but not sure how to access it in code我可以將數組存儲在變量中嗎?

我可以存儲在一個變量數組?

我有此數組:

$_POST['product'] 

,當我打印:

echo "<PRE>"; 
print_r($_POST['product']); 
echo "</PRE>"; 

結果是:

<PRE>Array 
(
    [0] => Array 
     (
      [0] => 1 
      [1] => cola 
      [2] => wwww 
      [3] => 1 
      [4] => 2.00 
      [5] => 0.00 
      [6] => 2.00 

     ) 

) 
</PRE> 

我怎麼能存儲陣列中的價值一個變量?例如,我需要將[1] => cola插入數據庫的表中。

+2

你能剛...更清楚一點?你在談論'$ _POST ['product'] [0] [1]'? –

回答

0

您可以訪問像$_POST['product'][0][1]這樣的數組以獲得可樂的值。

對於多次插入數據庫,您應該使用foreach循環或for循環。

修訂

好吧, Foreach循環

foreach($_POST['product'] as $product) { 
    mysql_query("INSERT INTO YOURTABLENAME('FIELD1','FIELD2'....) VALUES('".$product[0]."','".$product[1]."'....)"); 

} 

我者優先用於循環。

$count_array = count($_POST['product']); 
for($i=0; $i>= $count_array; $i++){ 
    mysql_query("INSERT INTO YOURTABLENAME('FIELD1','FIELD2'....) VALUES('".$_POST['product'][$i]."','".$_POST['product'][$i]."'....)"); 
} 

也有通過避免內部插入SQL數據庫中插入一個優化的方式爲/ foreach循環.. 但是現在應該爲你工作.. :)

+0

你能讓我舉例示範 –

+0

*記住清理你的輸入!!! 1!11one *使用'mysql_real_escape_string()',PDO或其他方法。 –

0
if(!empty($_POST['product'])) { 
    $colaVar = $_POST['product'][0][1]; 
    echo $colaVar; // outputs'cola' 
} 
1

必須使用foreach循環「掃描」的陣列發送一個INSERT查詢到您的數據庫,如:

<?php 
$updateStmt = $pdo->prepare("INSERT INTO table (field) VALUES (:FIELD)"); 
foreach($_POST['product'] as $key => $val){ 
    $updateStmt->execute(array(
     ':FIELD' => $val 
    )); 
} 
?> 
0

你並不需要,在所有的,只是做了以下內容:

$arr = $_POST['product'] 
echo $arr[0][1] 

這是訪問數組值以執行任何操作的普通方法。

+1

你完全不需要,只需執行以下操作:'echo $ _POST ['product'] [0] [1]' –

+0

@AlvinWong那麼你是更正確的,但是如果他不想處理或更改密鑰的值! – SaidbakR

+1

好的謝謝你的每一個 –

相關問題