@bbaggins

Оптимальное ли условие?

Друзья, всем привет!
Суть в чём, необходимо выводить форму, при условии что хотябы одна переменная не = 0, делаю следующее:
if ($extrafields[21] or $extrafields[58] or $extrafields[59] or $extrafields[60] or $extrafields[61] or $extrafields[62]):

Оптимально ли данное решение?
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 3
romy4
@romy4
Exception handler
некрасиво, но раз работает. то ок
Ответ написан
Urvin
@Urvin
// исходный массив
$array = [10,20,35,0,123,0,12,676,324];
// ключи для проверки на 0
$check = [3,5];


if(array_intersect(array_keys(array_filter(array_combine(array_keys($array), array_values($array)))), $check)) {
  echo 'good';
}

if(array_filter($array, function($value, $key) use ($check) { return in_array($key, $check) && $value != 0; }, ARRAY_FILTER_USE_BOTH)) {
  echo 'good';
}
Ответ написан
Комментировать
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Можно так:
function chucha($ar,$yuor_array){
  foreach($ar as $one){
    if(isset($yuo_array[$one])){
      return true;
    }
  }
return false;
}

$keys_arr = [21,58,59,60,61];

if (chucha($keys_arr,$yuor_array)){
  echo 'Уря';
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект