Коллеги, добрый день. Я недавно занимаюсь разработкой на php и столкнулся с подобной проблемой. Если есть ответ на подобный вопрос, то перенаправьте, ибо я не смог "нагуглить" правильно. Есть такой массив:
count: 91
items:
1:
id: 515
from_id: 12345
date: 1509427858
text: "Здравствуйте"
profiles:
1:
id: 12345
first_name: "Ivan"
last_name: "Ivanov"
groups […]
Каким образом в данном массиве можно получить данные из полей first_name и last_name по полю id в массиве profiles, используя поле from_id массива items?
Проще говоря, у меня есть значение from_id, по этому значению я хочу получить first_name и last_name.
наиболее эффективным с точки зрения производительности в любом случае будет обычный цикл, т.к. его можно прервать при выполнении условия. Прочие варианты всегда будут перебирать массив целиком, либо выделять доп. память.
Можно id
в массиве сделать ключами, и просто обратиться к элементу с нужным ключом, это, наверное, наиболее понятный для чтения вариант кода
$id = ...
$profiles = array_column($data['profiles'], null, 'id');
$profile = $profiles[$id];
Можно натравить array_filter, он выберет только нужный элемент массива
$res = array_filter($array['profiles'],
function ($x) use($from_id) { return $x['id'] == $from_id; });
echo "{$res[0]['first_name']} {$res[0]['last_name']}";
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
есть цикл, в нем выводяться записи с базы данных, в нем есть следующее условие "{% if loopindex != 1 and loop
Всем привет, написал свой небольшой проект на Laravel