开发者社区> 问答> 正文

php使用unset()释放出错,释放不了数组? 400 报错

php使用unset()释放出错,释放不了数组? 400 报错



$a=array( [0] => Array ( [id] => 1 [daishou] => 0 ) [1] => Array ( [id] => 701 [daishou] => 0 ) [2] => Array ( [id] => 709 [daishou] => 0 ) [3] => Array ( [id] => 739 [daishou] => 558693.51 ) [4] => Array ( [id] => 706 [daishou] => 0 ) [5] => Array ( [id] => 704 [daishou] => 0 ) [6] => Array ( [id] => 1835 [daishou] => 500028.62 ) [7] => Array ( [id] => 1792 [daishou] => 0 ) [8] => Array ( [id] => 1651 [daishou] => 362257.25 ) [9] => Array ( [id] => 707 [daishou] => 0 ) [10] => Array ( [id] => 773 [daishou] => 350237.89 ) [11] => Array ( [id] => 631 [daishou] => 347316.71 ));
foreach ($a as $k=>$v){
 if($v['daishou']==0){
 unset($a[$K]);
 }

}
print_r($a);
我用以上代码消除多维数组键【daishou 】为零的数组。可总是不成功,请教一下是否哪里出错。


展开
收起
爱吃鱼的程序员 2020-06-03 15:43:54 695 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    测试没问题,php 5.26

     

    <?php
    
    $a=array( 
    
    "0"=>array("id"=>10,"daishou"=>0),
    "1"=>array("id"=>11,"daishou"=>2),
    "2"=>array("id"=>12,"daishou"=>0),
    "3"=>array("id"=>13,"daishou"=>4),
    
    
    );
    
    foreach($a AS $k=>$v)
    {
    
    	if($v['daishou'] ==0){
    
    		unset($a[$k]);
    	}
    
    }
    
    
    print_r($a);

    ######5.4.21也没问题######+1。######unset($a[$k])######回复 @菜鸟中的小公鸡 : 这就比较纠结了,需要结合上下文分析。######回复 @小民哥 : 是小写的。试了很多次就是不行,纠结!######回复 @菜鸟中的小公鸡 : $k是小写的吗,应该没问题的。######不好意思 编辑了一下,本来是unset($a[$k]); 就是这样也不行。######如果你用了大小写不一致变量,会出现Notice: Undefined variable:之类的警告。
    2020-06-03 17:33:09
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载