[php]字符串数组访问形式引入的隐秘bug
2010-12-07 13:40
393 查看
<?php $arr = 'abc'; if( empty( $arr['id'] ) ) { echo 'no'; }else { echo 'yes'; } echo $arr['id']; ?>
输出结果为:yes a
结论:
!empty( $arr['id'] ) 此判断不足以断定数组单元$arr['id']的存在
建议如此判断 if( is_array($arr) && !empty($arr['id']) )
相关文章推荐
- 【php语法】实现ArrayAccess接口,以数组的形式访问对象
- php字符串可以用数组的形式输出单个字母
- PHP处理0e开头md5哈希字符串缺陷/bug
- 在 Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string. 也就是说: Perl只熟悉两种编
- php使用explode()函数将字符串拆分成数组的方法
- php 将字符串按大写字母分隔成字符串数组
- php字符串与byte字节数组转化类示例
- PHP把数组写进csv,和从csv文件以数组的形式读取数据
- php中strlen及count获取字符串和数组长度的效率为常数
- Java代码如何反序列化PHP序列化数组后的字符串
- php数组和字符串之间转换
- PHP学习笔记2 - 文件、数组、字符串
- php 字符串打散为数组,用逗号分隔出数组
- php实现根据字符串生成对应数组的方法
- JSON PHP中返回JSON数据(多个JSON通过一个大的数组组合成一个JSON字符串),在客户端解析JSON数据减轻服务端压力
- 关于PHP数组转字符串详细介绍
- C#二进制数组的字符串形式转换为二进制Byte数组
- php学习笔记:foreach循环访问关联数组里的值
- 用PHP解析类JSON字符串为数组的实现
- PHP - 如何将JSON字符串转换为数组