Нужно создать объект - PullRequest
0 голосов
/ 07 мая 2019
Array ( [0] => stdClass Object ( [download] => 8.63058 [date] => 2019 03 23 12:16 ) [1] => stdClass Object ( [download] => 10.94184 [date] => 2019 03 23 12:17 ) [2] => stdClass Object ( [download] => 11.37850 [date] => 2019 03 23 12:18 ) ) 


 Array ( [0] => stdClass Object ( [upload] => 2.95235 ) [1] => stdClass Object ( [upload] => 2.87732 ) [2] => stdClass Object ( [upload] => 3.58455 ) )

Мне нужно выше двух массивов, как показано ниже.

Array ( [0] => stdClass Object ( [download] => 8.63058 [upload]=>2.95235 [date] => 2019 03 23 12:16 ) [1] => stdClass Object ( [download] => 10.94184 [upload]=>2.87722 [date] => 2019 03 23 12:17 ) [2] => stdClass Object ( [download] => 11.37850 [upload]=>3.58455 [date] => 2019 03 23 12:18 ) )

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Это будет проходить по обоим массивам (они должны иметь одинаковые ключи!) И извлекать все свойства из второго массива и записывать их в объект в массиве 1.

$arr1 = [ /* your objects */ ];
$arr2 = [ /* your objects */ ];

foreach ($arr1 as $index => $obj) {
    $vars = get_object_vars($arr2[$index]);

    foreach ($vars as $var => $value) {
        $obj->$var = $value;
    }
}

Еслиэто просто «загрузить» вам нужно из массива 2, это еще проще:

$arr1 = [ /* your objects */ ];
$arr2 = [ /* your objects */ ];

foreach ($arr1 as $index => $obj) {
    $obj->upload = $arr2[$index]->upload;
}
0 голосов
/ 07 мая 2019
TRY THIS 

$array1 = json_decode(json_encode($arr1), true); // convert to array
$array2 = json_decode(json_encode($arr2), true); // convert to array

$arr_merged = array_merge($array1, $array2); // merge both arrays 

$arr_merged = json_decode(json_encode($arr_merged)); // to make it back into an object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...