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,其他输入不需要任何检查

4

1 回答 1

2

使用一个数组中的索引来获取其他数组的对应元素:

foreach ($lines as $i => $line) {
    if (!empty($line)) {
        $keyword = $keywords[$i];
        $violation = $violationtypes[$i];
        // Now insert $line, $keyword, and $violation into DB
    }
}
于 2013-10-06T00:58:08.280 回答