簡體   English   中英

組合兩個數組,並用符號(=)彼此分隔

[英]Combining two arrays and delimiting every other with symbol (=)

我有兩個具有這種結構的變量:

$columns = "col1, col2, col3";

$values = "$value1, $value2, $value3";

我需要做什么才能獲得:

$combined = "col1 = $value1, col2 = $value2, col3 = $value3";

我很確定我需要:

explode(',', $columns);
explode (',', $values);
$combined = array_combine($columns, $values);
$combined = implode(',', $combined);

但是然后我得到:

$combined = "col1, $value1, col2, $value2, col3, $value3";

如何用“ =”替換所有其他逗號?

這是解決此問題的最佳方法嗎?

$columns = 'col1, col2, col3';
$values = '$value1, $value2, $value3';

$result = implode(
    ', ',
    array_map(
        function ($c, $v) {
            return $c . ' = ' . $v;
        },
        explode(',', $columns),
        explode(',', $values)
    )
);

var_dump($result);

但是,如果要使用此語句來構建SQL插入語句,請改用MySQLi或PDO准備的語句

這應該工作。

$columns = explode(',', $columns);
$values = explode (',', $values); 
$combined = array_combine($columns, $values);
array_walk(&$combined, function(&$v, $k){
    $v = $k."=".$v;
});
$combined = implode(",",$combined);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM