【发布时间】:2012-09-01 03:16:03
【问题描述】:
我正在寻找一种方法来获取 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
)
我正在寻找一种通用的方法,而不仅仅是我提供的示例。它应该适用于所有类型的参数;字符串、字段名称和函数。
【问题讨论】:
-
我无法回答这个问题。如何获取 MySQL 函数的参数。?对我来说,这看起来像 XY Problem
-
好的,我已经详细阐述了我的任务,我希望现在更清楚我想要实现的目标。
-
这里需要正则表达式魔术师:D
标签: php mysql regex function parameters