在开发过程中,我们经常遇到需要将字符串转为数组的情况。PHP内置了explode函数,可以将字符串按特定的分解符分割成数组。

explode函数可以传入三个参数: 分隔符(必填),字符串(必填),数组元素数目(非必填)。

PHP5+中可以将第三个参数置为负数,返回包含除了最后n个元素的数字。

实例:

$str = "one,two,three";

$arr = explode(",",$str);

?>

但是,在最近的开发遇到了如下问题:

需求如下:管理员可以在系统后台配置一个公式,如利润公式:{本金}-{成本}。在公式中,可以运算的字符包括:+-/*%()......

分析:  可以将公式作为字符串保存在数据库中,前端用户填写数据后,无论是ajax提交或者form表单提交,我们在代码中利用 str_replace 将中文替换为数据,运算表达式即可。

问题:在管理员配置公式的人为操作中,可能会将公式填错,此时,我们后台将会报错或者无法执行。因为需要判断公式在替换完成后是否含有非法字符。

技巧:正规表达式字符串含有的字符为:0-9和+-/* %().这几个字符串而已。

分析: 首先想到可以利用 explode函数来分割字符串,逐个字符串进行判断。由于explode的分隔符必须存在,无法完成,需要自己来封装函数。

函数如下:

function explodestr($str)

{

$length    = strlen($str);

$arr     =  array();

for($i=0;$i

{

$arr[$i] = mb_substr($str, $i, 1,'urft-8');

}

return $arr;

}

注意:使用mb_substr需开启php扩展extension=php_mbstring.dll,否则将会报错。

php 数组格式的字符串转为数组_PHP 字符串转数组 | 剑花烟雨江南相关推荐

  1. html的时间格式转换为本地时间,将UTC日期字符串转为本地时间字符串,如@yyyy-MM-dd'T'HH:mm:ssZ转换为本地时间...

    由于苹果商店上线应用24小时内会不稳定,更新提醒可能会陷入死循环,更新提醒需要24小时后弹出,需要把苹果返回的上线时间转换为本地时间故写了下边的方法: //将UTC日期字符串转为本地时间字符串 //输 ...

  2. python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式

    python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式 with open('test.jpg', 'rb') as src:t = src.read(1) # 读进1B ...

  3. 将C语言的字符串转为OC的字符串

    <pre name="code" class="objc">3.C语言和OC结合题目 从控制台输入用户名和密码, 然后 判断输入的用户名是否是@&q ...

  4. 将UTC日期字符串转为本地时间字符串,如@yyyy-MM-dd'T'HH:mm:ssZ转换为本地时间

    由于苹果商店上线应用24小时内会不稳定,更新提醒可能会陷入死循环,更新提醒需要24小时后弹出,需要把苹果返回的上线时间转换为本地时间故写了下边的方法: //将UTC日期字符串转为本地时间字符串 //输 ...

  5. php 字符串函数 教程_php字符串函数_PHP教程

    addslashes: 字符串加入斜线. bin2hex: 二进位转成十六进位. chop: 去除连续空白. chr: 返回序数值的字符. chunk_split: 将字符串分成小段. convert ...

  6. php 字符串函数 教程_php字符串函数 str类常见用法示例

    本文实例讲述了php字符串函数 str类常见用法.分享给大家供大家参考,具体如下: str_split(string, leg);//将一个字符 串转换为数组,参数1:要被转换的字符串,参数2:每 段 ...

  7. php字符串转为时间戳,php字符串转时间戳

    摘要 腾兴网为您分享:php字符串转时间戳,易订货,锐捷,软考题库,泡泡乐园等软件知识,以及烈火之剑,聚合收款,浙江和教育校讯通平台,睡眠灯,透明图标,我在大清当皇帝hd,雷霆战舰,布丁动画,win8 ...

  8. php 字符串函数 教程_PHP 字符串获取 substr 与 strstr 函数

    PHP 字符串获取 用于从字符串中获取指定字符串. 相关函数如下: substr():从字符串中获取其中的一部分 strstr():查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结 ...

  9. html将字符串转为数值,JavaScript字符串转数字的5种方法及其陷阱

    JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法!下面本篇文章就来介绍一下JavaScript字符串转数字的5种方法及其陷阱,希望对大家有所帮助. String 转换为 ...

最新文章

  1. java实现二进制转16进制
  2. 管道半双工通信程序linux,Linux进程间通信的几种方法-半双工管道,命名管道,消息队列...
  3. 多任务学习漫谈:分主次之序
  4. 排序算法模板(C语言版)
  5. 格式化字符串漏洞利用 四、利用的变体
  6. html两个select怎么放在一行,HTML`select`和`input`在一行中
  7. java 异常处理 Throwable Error 和Exception
  8. 从零开始学做微信小程序,看这些就够了!
  9. ALOS 12.5米精度DEM数据下载与处理
  10. 解决Linux连不上外国软件源或者软件源失效
  11. 计算机如何通过手机连接网络打印机,手机连接电脑打印机怎么设置
  12. 编译 firefox linux,Linux下面Firefox 8.0.1的编译安装
  13. win11电脑开机密码忘记了怎么办?
  14. ServiceNow在中国还有没有模仿者?
  15. 专业课课本复习(数电,通原,数信,信号与系统,数据结构)
  16. Who is the lion(谁是狮子)!
  17. 我与编程,编程予我。
  18. IDEO:以洞悉人性为设计主轴
  19. WriteFile写文件乱码问题
  20. Perl正则表达式讲解

热门文章

  1. 可爱卡通幼儿教学课件PPT模板
  2. java dsa 私钥_DSA算法——本质上和RSA是一样的 有公钥和私钥
  3. 港科夜闻丨香港科大与华为达成战略合作,推动研究及培育人才
  4. hive自定义函数实现组织机构代码、统一社会信用代码校验
  5. 第十章 SQL命令 CREATE PROCEDURE(一)
  6. IAM - 身份识别与访问管理 系统 - 学习/实践
  7. Vue中预览HIKVSION海康威视的NVR(网络硬盘录像机)中多个通道(摄像机)的视频
  8. Python:一个闹钟
  9. fireworks 学习课程
  10. 服务器npc修改,梦幻古龙服务端NPC对话修改工具与教程