大家好,我不希望解释为什么插入两次,我理解它从['0']循环到['1']只是想弄清楚在第一次尝试后如何停止我的插入...

$trans=array('hello' => 'allo',
             'bye' => 'salut'),
$sql = "INSERT INTO trans (en, fr) values ";
$valuesArr = array();
foreach ($trans as $key => $value){
    $en = mysql_real_escape_string( $key );
    $fr = mysql_real_escape_string( $value );
    $valuesArr[] = "('$en', '$fr')";
}

$sql .= implode(',', $valuesArr);

mysql_query($sql) or exit(mysql_error());


我的实际问题是,一旦使用break通过数组,我是否可以立即停止foreach?

最佳答案

您可以使用计数器来控制插入的构建-假设您需要2个插入中的第2个

$trans=array('hello' => 'allo','bye' => 'salut');
$sql = "INSERT INTO trans (en, fr) values ";
$valuesArr = array();

$i = 0;
foreach ($trans as $key => $value){

    if ($i > 0) {
        $en = mysql_real_escape_string( $key );
        $fr = mysql_real_escape_string( $value );
        $valuesArr[] = "('$en', '$fr')";
    }
    $i++;

}

$sql .= implode(',', $valuesArr);

关于php - MySQL插入两次PHP数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22157268/

10-14 00:05