как можно объединить разные индексы в один индекс

Я пытаюсь объединить разные индексы в один индекс. Предоставленный код является примером ..

Array(
[0] => stdClass Object
(
[player_id] => 92
[player_name] => XYZ
)

[1] => stdClass Object
(
[player_type_id] => 4
[type] => All-Rounder
))

ожидаемый ответ будет

Array([0] => stdClass Object
(
[player_id] => 92
[player_name] => XYZ
[player_type_id] => 4
[type] => All-Rounder
)

2

Решение

Попробуй это :

$ obj_merged = (объект) array_merge ((массив) $ obj1, (массив) $ obj2);

0

Другие решения

Пожалуйста, попробуйте это:

$objArr1 =  (array)$yourArr[0];
$objArr2 =  (array)$yourArr[1];

$mergedArr = (object)array_merge($objArr1,$objArr2);
0

Вы можете достичь в 2 пути.

1) Использование array_merge функция

2) Использование + оператор

Смотрите ниже пример:

$obj1 = new StdClass();
$obj1->player_id = 92;
$obj1->player_name = 'Test Name';$obj2 = new StdClass();
$obj2->player_type_id = 92;
$obj2->type = 'Test Name';

$array = array($obj1, $obj2);

$merged_array = (object) ((array) $obj1 + (array) $obj2);

print_r($merged_array);

echo '--------------------------------------- <br />';
$obj_merged = (object) array_merge((array) $obj1, (array) $obj2);

print_r($obj_merged);

Выход:

stdClass Object
(
[player_id] => 92
[player_name] => Test Name
[player_type_id] => 92
[type] => Test Name
)
---------------------------------------
stdClass Object
(
[player_id] => 92
[player_name] => Test Name
[player_type_id] => 92
[type] => Test Name
)

Еще один метод, использующий foreach цикл:

foreach($obj2 as $k => $v){
$obj1->$k = $v;
}

print_r($obj1);

Выход:

stdClass Object
(
[player_id] => 92
[player_name] => Test Name
[player_type_id] => 92
[type] => Test Name
)
0