除了其他可能性之外,您还可以使用它preg_match()
来实现这一点。我不确定我是否正确理解了您的问题,但我已经准备好了应该有所帮助的示例。它将原始数组转换为具有以下结构的数组:
array(
array('key', 'operator', 'value'),
array('key', 'operator', 'value'),
array('key', 'operator', 'value'),
// ...
)
代码如下:
$arr = array('username='=> 'Alex','id >'=>'4');
$result = extractValues($arr);
var_dump($result);
function extractValues($arr) {
$pattern = '/([A-Za-z_]+[A-Za-z_0-9]?)[ ]?(!=|=|<=|<|>=|';
$pattern .= '>|like|clike|slike|not|is|in|between|and|or)/';
$result = array();
foreach($arr as $key => $value) {
preg_match($pattern, $key, $matches);
$result []= array($matches[1], $matches[2], $value);
}
return $result;
}
输出如下:
array(2) {
[0] =>
array(3) {
[0] =>
string(8) "username"
[1] =>
string(1) "="
[2] =>
string(4) "Alex"
}
[1] =>
array(3) {
[0] =>
string(2) "id"
[1] =>
string(1) ">"
[2] =>
string(1) "4"
}
}