繁体   English   中英

如何在PHP数组的每个数组元素中放入不同的对象?

[英]how to put a different objects inside each array element of an array in php?

我有两个数组,例如

$mainArray = array('a','b','c','d','e','f','g');

$ subArray =它包含一个对象数组,例如

array( objec1, objec2, object3, object4) ...

在每个对象中,保存与$ mainArray中的键之一匹配的值。

我现在的问题是,我该如何匹配并将正确的对象放入mainArray,这样它应该看起来像这样,例如

$mainArray = array('a'=> array(object3,object2), 'b' => array(object4,object1));
$result = array();
foreach ($subArray as $obj) {
    if (!isset($result[$obj->keyOfMainArray])) {
        $result[$obj->keyOfMainArray] = array();
    }

    $result[$obj->keyOfMainArray][] = $obj;
}

假设valobject的属性

$mainArray = array('a','b','c','d','e','f','g');
$subArray  = array(...);
$result    = array();

foreach($subArray as $object) {
    $result[$object->val][] = $object;
}

结果示例

Array
(
    [a] => Array
        (
            [0] => stdClass Object
                (
                    [val] => a
                )

            [1] => stdClass Object
                (
                    [val] => a
                )

        )

    [b] => Array
        (
            [0] => stdClass Object
                (
                    [val] => b
                )

        )

)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM