如果你正在构建语法树,你应该写解析器是没有问题的。但是如果您只需要解析此示例,则regex仍然可能是一个工具:

$str = 'all, ("hi there", (these, that) , other), another';

$str = preg_replace('/\, /', ',', $str); //get rid off extra spaces

/*

* get rid off undefined constants with surrounding them with quotes

*/

$str = preg_replace('/(\w+),/', '\'$1\',', $str);

$str = preg_replace('/(\w+)\)/', '\'$1\')', $str);

$str = preg_replace('/,(\w+)/', ',\'$1\'', $str);

$str = str_replace('(', 'array(', $str);

$str = 'array('.$str.');';

echo '

';

eval('$res = '.$str); //eval is evil.

print_r($res); //print the result

注意:如果输入格式不正确,正则表达式肯定会失败。我正在写这个解决方案,只是在你需要快速脚本的情况下。编写词法分析器和解析器是耗时的工作,需要大量的研究。

php参数一个字符串数组,PHP字符串控制台参数到数组相关推荐

  1. php接收get参数false是字符串,php解析url (parse_url) 参数成数组 (parse_str)

    php解析url (parse_url) 参数成数组 (parse_str) (1)parse_url (PHP 4, PHP 5) - 解析 URL,返回其组成部分,函数原型如下: mixed pa ...

  2. ES6(二)——字符串模板、标签模板字符串、函数的默认参数、剩余参数、数组对象的展开语法、数值的表示、Symbol

    一.字符串模板基本使用 在ES6之前,如果我们想要将字符串和一些动态的变量(标识符)拼接到一起,是非常麻烦和丑陋的(ugly). ES6允许我们使用字符串模板来嵌入JS的变量或者表达式来进行拼接: 首 ...

  3. Lua学习笔记3. 函数可变参数和运算符、转义字符串、数组

    1. Lua函数可以接受变长数目的参数,和C语言类似,在函数的参数列表中使用(...)表示函数可以接受变长参数 lua函数将参数存放在一个table中,例如arg,那么#arg可以获得参数的个数 fu ...

  4. Java实验——定义一个类,该类中包含以下几个方法(静态):实现两个字符串数组的逆序排序,输出结果为字符串数组;求两个整形数组的交集;求两个浮点型数组的并集;

    目录 一.实现两个字符串数组的逆序排序,输出结果为字符串数组 解题思路: 具体代码: 运行截图: 二.求两个整形数组的交集 具体代码: 运行截图: 三.求两个浮点型数组的并集 解题思路: 具体代码: ...

  5. 关于《输入一个字符串,内有数字和非数int字符,如a123x456,将其中连续的数作为一个整数,依次存放到整型数组a中》的一点看法

    最近刚刚学习了C基础这门课程,作到了这个习题,这个题目要求将字符串中的数字作为整数存放到整型数组中,这个题目有一个特点就是字符串中除了有数字还有非数int字符.看完题目,我顿时来了兴趣. 在一开始我选 ...

  6. JavaScript split() 方法:把一个字符串分割成字符串数组

    split() 方法用于把一个字符串分割成字符串数组. 注意: split() 方法不改变原始字符串. var str = 'Begonia flower sleepless'; // 以空格分隔 v ...

  7. 写一个函数,2 个参数,1 个字符串,1 个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码

    题目要求: 写一个函数,2 个参数,1 个字符串,1 个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码. 如("我ABC",4)应该截为"我AB", ...

  8. curl参数为多维数组时提示数组到字符串的转换问题

    curl参数为多维数组时提示数组到字符串的转换有时候使用json_encode()无法解决,可以使用http_build_query()函数对参数数组进行处理. http_build_query()的 ...

  9. 20190501-编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串...

    题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow ...

  10. split(v1,v2)用于把一个字符串分割成字符串数组

    split(v1,v2) 参数: v1   必填,此为字符串或正则表达式,从该参数指定的地方开始分割 v2   可选.该参数可指定返回的数组的最大长度.如果设置了该参数,返回的子串不会多于这个参数指定 ...

最新文章

  1. 给自己的程序添加BugReport
  2. eclipse导入jar包_在命令行上操作JAR,WAR和EAR
  3. 200(强缓存)和304(协商缓存)的区别
  4. (10.1)Python学习笔记二
  5. 南昌网络赛E Interesting Series
  6. mysql 字符串类型 分区_MySQL分区类型
  7. 开发 Windows 8 Bing地图应用(2)
  8. java applet html_将图像从Java Applet传递到HTML
  9. memsql 多节点部署
  10. 动态规划经典问题:背包问题
  11. 定制简单的404和403页面
  12. MySQL-在字段上使用函数不会走索引的原因是什么?
  13. ABAP 供应商主数据比较常用的表
  14. MinIO对象生命周期管理解析
  15. 主域名跳转到带www的域名方法,以及对seo有什么影响?
  16. 2023最新健身俱乐部会员管理系统的设计与实现(毕业设计+论文+开题报告+运行)
  17. 计算机文件管理评课稿,城沙二小《整理文件》评课稿
  18. 谁为企业数字化转型“保驾护航”?
  19. phpStorm MarkDown插件下载
  20. 敏捷开发及Scrum介绍

热门文章

  1. Oracle控制文件恢复
  2. 利用Linux或者Windows操作系统做路由器进行网络互连
  3. 视频监控:特征识别真的优于人脸识别吗?
  4. 【Error】InterfaceError (0, '')
  5. 文件格式 tar.gz zip zp2 zip rar
  6. 【原创】TimeSten安装与配置
  7. 解决Windows Git Bash中文乱码问题
  8. Windows server backup笔记 WSB
  9. NHibernate Step By Step(10)-常用的配置属性
  10. SNMPM 配置 [linux windows solaris]