Php 如何将select子句中的选择表达式提取到数组中?
具有如下所示的选择查询。其中每一个都是一个例子Php 如何将select子句中的选择表达式提取到数组中?,php,Php,具有如下所示的选择查询。其中每一个都是一个例子 SELECT column FROM table... SELECT column1, column2 FROM table... SELECT column1 AS column_1, column2 AS column_2 FROM table... SELECT column1 column_1, column2 AS column_2 FROM table... 我希望在数组中获得选择表达式,这样每个查询的结果如下 ['column']
SELECT column FROM table...
SELECT column1, column2 FROM table...
SELECT column1 AS column_1, column2 AS column_2 FROM table...
SELECT column1 column_1, column2 AS column_2 FROM table...
我希望在数组中获得选择表达式,这样每个查询的结果如下
['column']
['column1', 'column2']
['column_1', 'column_2']
['column_1', 'column_2']
我展示了编写选择表达式的不同方式,因为它们可以用其中一种方式编写
提前感谢。此代码将执行您想要的操作。请注意,它假定您上面显示的格式仅为您想要支持的格式。代码从字符串的开头和结尾去掉
SELECT
和FROM
,然后从不同的表达式中获取列名(允许可选的AS xxx
子句)
输出:
Array
(
[0] => Array
(
[0] => column
)
[1] => Array
(
[0] => column1
[1] => column2
)
[2] => Array
(
[0] => column_1
[1] => column_2
)
[3] => Array
(
[0] => Column_1
[1] => COLUMN2
)
[4] => Array
(
[0] => column_1
[1] => column_2
)
)
谢谢您的回答,它可以满足我的要求。您是否可以更新以支持小写和大写的别名?它应该可以与大写别名配合使用,
\w
将与A-Z
以及A-Z
匹配。我对一些混合大小写示例进行了编辑,还提供了一个指向rextester上演示的链接。希望这对你有帮助。非常感谢你的帮助
Array
(
[0] => Array
(
[0] => column
)
[1] => Array
(
[0] => column1
[1] => column2
)
[2] => Array
(
[0] => column_1
[1] => column_2
)
[3] => Array
(
[0] => Column_1
[1] => COLUMN2
)
[4] => Array
(
[0] => column_1
[1] => column_2
)
)