首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在foreach循环内未设置数组元素

在foreach循环内未设置数组元素
EN

Stack Overflow用户
提问于 2010-05-18 04:05:16
回答 4查看 31.1K关注 0票数 23

下面是我的代码:

代码语言:javascript
复制
<?php

$arr = array(array(2 => 5),
             array(3 => 4),
             array(7 => 10));

foreach ($arr as $v) {
    $k = key($v);
    if ($k > 5) {
        // unset this element from $arr array
    }
}

print_r($arr);

// now I would like to get the array without array(7 => 10) member

正如您所看到的,我从一个单键=>值数组开始,循环遍历该数组并获得当前元素的一个键(这是一个单项数组)。

我需要取消设置key大于5的数组元素,我该怎么做?我可能还需要删除值小于50或任何其他条件的元素。基本上,我需要能够获得当前数组项的键,它本身就是一个只有一个项的数组。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-18 04:10:49

代码语言:javascript
复制
foreach($arr as $k => $v) {
    if(key($v) > 5) {
        unset($arr[$k]);
    }
}
票数 52
EN

Stack Overflow用户

发布于 2010-05-18 04:07:19

使用key()从子数组中获取第一个密钥。

代码语言:javascript
复制
foreach($arr as $k => $v) {
    if(key($v) > 5) {
        unset($arr[$k]);
    }
}
票数 2
EN

Stack Overflow用户

发布于 2010-05-18 04:11:30

在遍历集合时添加或删除集合是不安全的。把你想要的元素添加到第二个数组中,然后转储原来的元素,怎么样?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2852344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档