php - 删除具有非数字键的数组的所有元素

标签 php arrays associative-array

我有一个看起来像这样的数组:

Array
(
    [0] => apple
    ["b"] => banana
    [3] => cow
    ["wrench"] => duck
)

我想获取该数组并使用 array_filter 或类似的东西来删除具有非数字键的元素并接收以下数组:

Array
(
    [0] => apple
    [3] => cow
)

我在考虑这个,但我想不出一个办法来做到这一点,因为 array_filter 没有为我的函数提供键,而 array_walk 不能修改数组结构(在 PHP 手册中讨论过)。

最佳答案

使用 foreach在这种情况下循环是合适的:

foreach ($arr as $key => $value) {
    if (!is_int($key)) {
        unset($arr[$key]);
    }
}

关于php - 删除具有非数字键的数组的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042536/

相关文章:

arrays - 根据匿名哈希数组中的另一个值直接访问值

php - 根据关联数组的值对键进行排名(函数错误)

c++ - "n"键在Lua表中有什么特殊含义吗?

php - 如何为两个变量编写 SQL 语句,一个变量携带表名,另一个变量携带表中的特定列?

php - 内部联接在 php 中的准备好的语句中没有正确响应

java - 我的 HeapSort 代码有什么问题?

javascript - 比较 2 个对象数组并用 id 替换对象

php - 更新数据库中的多行或记录

php - MySQLI Bind_param 查询不返回结果

c++ - 将数组作为函数中的引用参数传递