Kirilchuk
@Kirilchuk
Вперед и вверх

Как на php выбрать одинаковое значение из двух многомерных массивов?

Имеется два многомерных массива после парсинга и обработки JSON
["items"]=> array(2)
		{ 
		[0]=> object(stdClass)#2 (4)
			{ 
	 		["id"]=> int(29) 
	 		["from_id"]=> int(-145381893) 
	 		["date"]=> int(1525428495) 
	 		["text"]=> string(181) "текст1" 
	 		}
		[1]=> object(stdClass)#4 (4)
 			{ 
		 	["id"]=> int(28) 
		 	["from_id"]=> int(72325239) 
		 	["date"]=> int(1525428062) 
		 	["text"]=> string(276) "текст2"


и

["profiles"]=> array(3)
		{ 	 	
	 	[0]=> object(stdClass)#28 (3)
	 		{
		 	["id"]=> int(33367167) 
		 	["first_name"]=> string(10) "Иван" 
		 	["last_name"]=> string(22) "Иванов" 
		 	}
	 	[1]=> object(stdClass)#29 (3)
			{ 
	 	 	["id"]=> int(72325239) 
	 		["first_name"]=> string(8) "Петр" 
		 	["last_name"]=> string(16) "Петров" 
		 	}

	 	[2]=> object(stdClass)#30 (3)
	 		{ 	
	 		["id"]=> int(123060350) 
	 		["first_name"]=> string(10) "Сергей" 
	 		["last_name"]=> string(16) "Сергеев" 
	 		}
	 	}

Изначально это всё даже в одном массиве. Но, думаю, особой разницы нет.
Как можно вывести имена и текст сообщения в один массив, при условии, что "from_id" у первого должно совпасть с "id" второго массива?
т.е. из приведенного примера на выходе должно получиться что-то типа:
Петр Петров - Текст2
  • Вопрос задан
  • 281 просмотр
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$profiles = array_combine(
              array_map(function($profile) { return $profile->id; }, $data['profiles']), 
              $data['profiles']);
foreach ($data['items'] as $item) {
  echo $profile[$item->from_id]->first_name, ' ', 
       $profile[$item->from_id]->last_name, ' - ', 
       $items->text, "\n";
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 09:29
2500 руб./за проект
25 апр. 2024, в 09:27
4000 руб./за проект
25 апр. 2024, в 09:20
10000 руб./за проект