【发布时间】:2014-05-19 18:01:07
【问题描述】:
短版:
如何计算字符串中@ 的数量,同时排除@ 内部的[ ]
加长版:
我正在编写一个简单的 php 类以允许使用 @NamedSqlParameters 和 sqlsrv_query()(我意识到这已经可以使用 PDO_SQLSRV - 但据我了解,PDO_SQLSRV 仅在 Windows 环境中可用- 此类适用于使用 MS SQL Linux 驱动程序的 Debian 环境。
当用户传入@NamedParamaters 的数组时,我需要检查$CommandString 是否包含相同数量的@NamedParamaters,最初我虽然我使用substr_count() 来计算@987654332 的数量而侥幸@'s 但显然不会考虑与非参数相关的@'s - 以$CommandString 为例:
SELECT * FROM [@foo] WHERE ID = @ID AND BAR = @BAR
所以是的,我如何计算字符串中 @ 的数量,同时排除 @ 内部的 [ ] 的数量
我怀疑这里需要preg_match_all?
【问题讨论】: