цикл if, как вывести из массива только нужную группу?
<?php
$data = [
[
'name' => 'Grayson Allen' ,
'group' => 'administrator',
'email' => '[email protected]',
'phone' =>'123-675-34'
],
[
'name' => 'Steven Adams' ,
'group' => 'student',
'email' => '[email protected]',
'phone' =>'123-346-65'
],
[
'name' => 'Kostas Antetokoumpo' ,
'group' => 'teacher',
'email' => '[email protected]',
'phone' =>'123-475-56'
],
[
'name' => 'Dwayne Bacon' ,
'group' => 'administrator',
'email' => '[email protected]',
'phone' =>'123-787-67'
],
]
?>
из этого массива хочу показать только админов.
if($date['group'] == 'administrator')
<!-- как дальше-->
<?php foreach ($data as $key => $crew):?>
<?=$crew['group']?>
<?php endforeach;?>
Ответы (1 шт):
Автор решения: valerius
→ Ссылка
if должно быть внутри цикла. Вы перебираете все элементы массива с помощью foreach и внутри цикла к текущему (рассматриваемому) элементу примеряете условие if .
<?php
foreach ( $data as $crew_item ):
// $crew_item - это одна группа из массива (по вашей терминологии)
if ( $crew_item['group'] == 'administrator' ):
echo 'Администратор:' . PHP_EOL;
echo 'имя: ' .$crew_item['name'] . PHP_EOL;
echo 'email: ' .$crew_item['email'] . PHP_EOL;
echo 'телефон: ' .$crew_item['phone'] . PHP_EOL;
endif;
endforeach;
?>
PS Не рекомендуется использовать краткий вывод <?= Лучше писать <? echo
PPS Как правильно отметили в комментариях, начиная с PHP 5.4.0 <?= является кратким тегом для конструкции <?php echo и работает даже при отключенном short_open_tag. Поэтому нет ограничений на использование <?=