- is_numeric: documentation ( source)
- preg_replace: documentation ( source)
<?php
$arr = [5, "David"];
$query = "SELECT * FROM users WHERE user_id = ? AND user_name = ?";
function logger($query, $arr) {
foreach($arr as $a) {
$query = is_numeric($a) ?
preg_replace("/(?<=\s)\?(?=\s|$)/", $a, $query, 1) :
preg_replace("/(?<=\s)\?(?=\s|$)/", "'$a'", $query, 1);
}
return $query;
}
echo logger($query, $arr);