[英]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.