<?php
protected function expandArguments(&$query, &$args) {
$modified = FALSE;
foreach (array_filter($args, 'is_array') as $key => $data) {
$new_keys = array();
foreach ($data as $i => $value) {
$new_keys[$key . '_' . $i] = $value;
}
$query = preg_replace(
'#' . $key . '\b#',
implode(', ', array_keys($new_keys)),
$query
);
unset($args[$key]);
$args += $new_keys;
$modified = TRUE;
}
return $modified;
}
$query = "SELECT * FROM foo WHERE id IN (:ids)";
$args = array(
'ids' => array(
1,
2,
3
)
);
$db->expandArguments($query, $args);
var_dump($query, $args);
- Output for 5.4.0 - 5.4.34
- Parse error: syntax error, unexpected 'protected' (T_PROTECTED) in /in/DSbYJ on line 3
Process exited with code 255. - Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
- Parse error: syntax error, unexpected T_PROTECTED in /in/DSbYJ on line 3
Process exited with code 255. - Output for 5.0.0 - 5.0.5
- Parse error: parse error, unexpected T_PROTECTED in /in/DSbYJ on line 3
Process exited with code 255. - Output for 4.4.2 - 4.4.9
- Parse error: syntax error, unexpected T_FUNCTION in /in/DSbYJ on line 3
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
- Parse error: parse error, unexpected T_FUNCTION in /in/DSbYJ on line 3
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/DSbYJ on line 3
Process exited with code 255.
preferences:
193.06 ms | 1395 KiB | 124 Q