我正在寻找一种方法来获取 MySQL 函数的参数并将它们放在 PHP 中的数组中。例子:
$field = "CONCAT(fieldA, ' ', fieldB)";
到目前为止我所做的是:
preg_match("/^([A-Z_]*)\((.*)\)/", $field, $matches)
$parameters = explode(",", $matches[2]);
这对上面的例子很有效。但是为以下示例尝试相同的解决方案:
$field = "CONCAT_WS(', ', fieldA, fieldB)";
将导致:
Array
(
[0] => '
[1] => '
[2] => fieldA
[3] => fieldB
)
我想得到:
Array
(
[0] => ', '
[1] => fieldA
[2] => fieldB
)
我正在寻找一种通用的方法,而不仅仅是我提供的示例。它应该适用于所有类型的参数;字符串、字段名称和函数。