2013-10-06 3 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 
    } 
} 
Смежные вопросы