我有两个数组,例如
$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));
答案 0 :(得分:2)
$result = array();
foreach ($subArray as $obj) {
if (!isset($result[$obj->keyOfMainArray])) {
$result[$obj->keyOfMainArray] = array();
}
$result[$obj->keyOfMainArray][] = $obj;
}
答案 1 :(得分:1)
假设val
是您的object
属性
$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
)
)
)