foreach 引用变量造成的问题

经常使用引用变量 发现他确实用起来很舒服 特别是在foreach里面 但是最近只用过程中却出现了一个bug 记录以防止后面再出现同类问题

foreach ($order_list as $key => &$val){
    $val['status_message'] = $order->_order_status[$val['status']];
}
foreach($search as $key=>$val) {
    $Page->parameter[$key]   =   urlencode($val);
}

当上面两行代码在一起的时候就会造成下面多一行的情况 开始莫名奇妙后台一看才发现是上面的引用变量没有释放导致下面循环的时候数据会加到order_list 表 

array(7) {
  [0] => array(36) {
    ["id"] => string(3) "343"
    }
  }
  [6] => &string(1) "1"
}

处理方式1 

unset($val);

处理方式2

foreach($search as $k=>$v) {
    $Page->parameter[$k]   =   urlencode($v);
}

归纳一些常见的问题

1.filesize不能正确获取大于2G文件的大小

2.保存文件使用utf-8必须删除bom签名

3.json_encode只能支持utf-8编码

4含有字符的数字和数字比较有可能为真。

  测试如下代码'123abc'==123

记得再往上加



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值