今天在导出报表的时候遇到了一个问题,undefined index:pid,然后就纳闷了,我的数组里面根本就没有pid,为什么会出现这个错误呢,我遍历了一下数组,发现果然有pid这个键,奇怪呀,我有做检查呀,如果pid键存在,则释放这个键啊,看起来没有错啊,怎么回事?

下面来看看真正的原因:

我的检查代码是这样写的:

if(isset($v['pid']))
    unset($v['pid']);

这样看起来有错吗?貌似没错,但是仍然没有释放掉pid这个键,所以就去官网查了一下:

isset

(PHP 4, PHP 5)

isset — Determine if a variable is set and is not NULL

现在大家明白了吧?isset:确定一个变量已经设置并且不为null,那这下就明白了,只有当$v['pid']已经存在且其值不为null时,isset才会返回true,而我上面的那个问题中,$v['pid']恰恰没有值,所以它就不会被释放掉。

所以呢,检查数组键是否存在,还是用array_key_exists吧。

鄙人浅陋,将此分享给遇到同样问题的童鞋们。

最新文章

  1. Python Day11
  2. Deep learning:四十四(Pylearn2中的Quick-start例子)
  3. 需要中文版《The Scheme Programming Language》的朋友可以在此留言(内附一小段译文)
  4. PHP之验证码类
  5. WPF博客地址分享
  6. CentOS 6.5升级Python后yum不可用的解决方案
  7. jquery实现表格可变列宽插件开发
  8. hdu2588 gcd 欧拉函数
  9. Asp.Net写文本日志
  10. servlet中的8个Listener
  11. DAX和Power BI中的参考日期表
  12. (其他)Thinkpad笔记本装系统
  13. go中的读写锁RWMutex
  14. A1102. Invert a Binary Tree
  15. linux内核中侧async_tx是什么?
  16. CSS Transform Style
  17. 20155304 2016-2017-2 《Java程序设计》第七周学习总结
  18. webpack处理url资源的配置
  19. Spark(十一)Spark分区
  20. appium +uiautomator2 遇到 deviceName can't be blank 提示的解决

热门文章

  1. Linux kernel分析前的准备
  2. The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object
  3. Access denied for user 'xxx'@'localhost' 问题的解决方法
  4. PHP中空字符串、0、null、empty和false之间的关系
  5. 线程池和Thread
  6. 关于.net Core项目发布在Linux上的填坑
  7. Linux中关机和磁盘管理命令
  8. cf834D(dp+线段树区间最值,区间更新)
  9. 洛谷P3146 [USACO16OPEN]248
  10. puppet的一个Bug