Вывестси элементы массива с одинковыми значенииями полей?

Добрый день. Помогите разобраться. Есть массив нужно вывести только те его элементы у которых поле price одинаковое
Array(
    array(
       'name' => 'title 1',
       'price' => '200'
    )
    array(
       'name' => 'title 2',
       'price' => '100'
    )
    array(
       'name' => 'title 3',
       'price' => '200'
    )
)
  • Вопрос задан
  • 274 просмотра
Решения вопроса 1
@Monte
$result = [];

foreach ($array as $item) {
    if (!isset($result[$item['price']]) {
          $result[$item['price']] = [];
    }
    
    $result[$item['price']][] = $item;
}

var_dump($result);


Писал без проверки, но таким способом вы сгруппируете элементы массива по полю Price. Дальше уже делаете что хотите с итоговым массивом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Morfeey
@Morfeey
$NeddleList = [];

foreach ($array as $value) {
  if ( is_array($value) ) {
       foreach ($value as $val) {
            if ($val["price"] == '100') {
                array_push($NeedleList, $val);
            }
       } 
  }
}
print_r($NeedleList);


Так ?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы