获取php中另一个数组内的特定数组[复制]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取php中另一个数组内的特定数组[复制]相关的知识,希望对你有一定的参考价值。

这是我的阵列

 Array (
    [camp] => 1523270715437137241
    [seg] => Array
        ([0] => Array
                ( [id] => 1524043028577447661
                    [ben] => 10000
                    [rule] => Array
                        ([0] => Array
                                ([id] => 1524050160515158364
                                    [logic] => #3 and # 4
                                )))))

我想让值属于'rule'数组,它在三个大数组内,不使用foreach循环。可能吗?

答案

试试这个函数,递归方式:

function getval($arrs, $k) {
    foreach($arrs as $key=>$val) {
        if( $key === $k ) {
            return $val;
        }
        else {
            if(is_array($val)) {
                $ret = getval($val, $k);
                if($ret !== NULL) {
                    return $ret;
                }
            }
        }
    }
    return NULL;
}

print_r(getval( $array, "rule" )); // prints the array value of element with key "rule"

这可以使用foreach和递归遍历传递的数组的每个元素,直到找到键并返回其值。

以上是关于获取php中另一个数组内的特定数组[复制]的主要内容,如果未能解决你的问题,请参考以下文章

更新猫鼬文档中另一个数组内的数组中的字段

将选定的行复制到填充 Xcode 中另一个 UITableView 的数组

有没有办法在不输入数组 [somenumber] 的情况下获取数组内的特定对象?

如何更新firestore中数组内的对象? [复制]

如何用递归获取一个文件夹内的所有文件存放在一个文件数组中?

在 PHP 中,是不是可以使用 PDO 获取一维数组? [复制]