php中数组与字符串
程序员文章站
2022-04-19 18:08:49
...
因为php的语法要求不严格,字符串也可以当数组使用,这样就存在一个问题:当使用非数字作为key访问字符串中的内容时,就可能会带来一些不一致的情况,如下面的代码
1 $hello = "hello" ;
2 var_dump( $hello [ 'abc' ]);
3 var_dump( $hello [ '0' ]);
4 var_dump( $hello [ '1abc' ]);
5 var_dump( $hello [ '12abc' ]);
结果:
'h'
'h'
'e'
''
输出的结果就不说了,简单运行一下就可以知道,我想原因是由intval这个东东引起的,时间关系,没有去确认zend的代码,不过下面代码的运行结果页说明了一些问题
1 var_dump( intval ( 'abc' ));
2 var_dump( intval ( '0' ));
3 var_dump( intval ( '1abc' ));
4 var_dump( intval ( '12abc' ));
这个东东,对code review或者测试时候是一个很有杀伤力的bug,如果一个函数设计的返回值不好,有时候返回数组,有时候返回字符串,在使用之前,就一定要先判断返回结果是否为数组,否则就会在这个bug上杯具
上一篇: php获取根域名几个示例
推荐阅读
-
PHP中 htmlspecialchars 函数传入中文变量值后返回空字符串
-
php数组排序usort、uksort与sort函数用法,usortuksort
-
php数组的概述及分类与声明代码演示_PHP教程
-
PHP合并数组+与array_merge的区别分析_php技巧
-
PHP中的浅复制与深复制的实例详解
-
php数组函数序列之array_pop() - 删除数组中的最后一个元素_PHP教程
-
php中++i 与 i++ 的区别_php技巧
-
求挽救匹配PHP字符串中的cookie
-
【LeetCode】算法与数据结构笔记(一) 数组和字符串
-
php一个解析字符串排列数组的方法,php解析字符串数组