2013-10-06 97 views
0

我試圖從我的輸入中獲取所有值並將它們插入到一起,因此對於第一個數組中的每個值#1,在第二個和第三個數中插入值#1。這看起來是這樣的:插入多個數組

$lines = explode(PHP_EOL, $_POST['links']); 
$keywords = explode(PHP_EOL, $_POST['keywords']); 
$violationtypes = explode(PHP_EOL, $_POST['keywords']); 

這些輸入是正常的,但他們可能是1或500,我真的不知道。我曾經這樣處理,但有一個輸入像這樣:

foreach($lines as $line) 
    { 
if (!empty($line)) 
    { 
     if (false === strpos($line, '://')) 
     { 
      $line = 'http://' . $line; 
     } 
mysql_query("INSERT INTO links (ClientEmail,Links) VALUES ('$Emailvalue', '$line')"); 
} 
} 

但是,我不能拉這個3陣列。有沒有更好的辦法?

PS空行檢查是這樣的,我不會將空值添加到數據庫中,另一個檢查是否存在http://,如果沒有,則添加它。該檢查是隻爲$lines,其他輸入不需要任何檢查

回答

2

使用索引在一個陣列中以取出其它陣列的對應元件:

foreach ($lines as $i => $line) { 
    if (!empty($line)) { 
     $keyword = $keywords[$i]; 
     $violation = $violationtypes[$i]; 
     // Now insert $line, $keyword, and $violation into DB 
    } 
}