Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/180: Рейтинг темы: голосов - 180, средняя оценка - 4.51
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1

Проверка нескольких условий

14.10.2012, 01:00. Показов 34880. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно проверить сразу несколько условий
PHP
1
2
3
if($a == $b && $c == $d){
echo "true";
}
Нужно в зависимости от того первое условие оказалось ложным или второе вывести различные сообщения. Так, например
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if(somethink){
    if(somethink else){
    tadada
    }else{
    tratata
    }
}
if(somethink more){
    if(somethink else){
    tadada
    }else{
    tratata
    }
}
Но есть такая возможность если не прибегать к таким некрасивым вложенным и повторяющимся условиям?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2012, 01:00
Ответы с готовыми решениями:

Проверка условий
Задача тривиальна. Скрипт принимает данные и что-то с ними делает, если они не пустые. А вот одна или несколько переменных пусты, то...

Проверка множества условий
Как организовать проверку множества условий с реакцией на каждую их комбинацию? Допустим есть две переменные $a и $b, которые могут...

Почему не проходит проверка условий?
Нужно, чтобы если выбирались значения в обоих SELECT'ах city1 и city2 либо в time1 и time2, то выводилось "Заполнить либо время...

12
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
14.10.2012, 01:07
PHP
1
echo условие ? 'вывести если истина' : 'вывести если лож';
так что ли?
0
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
14.10.2012, 01:12  [ТС]
нет... По мимо определения выполнения обоих условий нужно узнать, какое именно из них выполнено, допустим, а какое нет, и в зависимости от этого...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
14.10.2012, 01:15
так а кто мешает использовать вложенные тернарные операторы, раз вас не устраивают обычные циклы?
Но, имхо, чем повторяющиеся тернарные операторы и их циклы, понятнее (в дальнейшем) будет обычный цикл if-else. Тернарный оператор есть смысл применять когда одно условие - или это или то. (имхо)
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
14.10.2012, 01:15
Оптяь ен понял...
то етсь что то типа
PHP
1
2
3
4
5
6
7
8
9
10
if($a == $b && $c == $d){
    if($a == $b)
    {
        //одно
    }
    if($c == $d)
    {
        //другое
    }
}
так что ли?
Так они же оба выполнились, зачем по отдельности проверять?)
0
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
14.10.2012, 01:31  [ТС]
Да, именно так. Можно вложенным if else, но мне это не нравится, не элегантно! Можно вместо if поставить тернарный оператор. Но я думал о более красивом решении. Видимо, его нет. Спасибо
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
14.10.2012, 01:34
Так зачем рповерять?

вот условие
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if($a == $b && $c == $d){
    // мы попадём сюда только при условии что ОБА УСЛОВИЯ ВЕРНЫ!
 
    if($a == $b)
    {
        // этот код будет выполнятся всегда!
        //Зачем нам проверка? Мы же уверенны что условие верно, мы уже рповерили
    }
    else
    {
        // эта часть не когда не выполнится, так как условие верено раз попало внутрь первой проверки!
    }
 
    if($c == $d)
    {
        // этот код будет выполнятся всегда!
        //Зачем нам проверка? Мы же уверенны что условие верно, мы уже рповерили
    }
    else
    {
        // эта часть не когда не выполнится, так как условие верено раз попало внутрь первой проверки!
    }
}
0
 Аватар для fxxer
15 / 15 / 3
Регистрация: 19.05.2012
Сообщений: 58
14.10.2012, 02:34
Вот так что ли вам надо ?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if($a == $b || $c == $d){
    if($a == $b)
    {
       echo "a = b";
    }
    if($c == $d)
    {
        echo "c = d";
    }
}
else
{
echo "Ни одно условие не совпало";
}
Условие
PHP
1
$a == $b && $c == $d
- всегда будет верно, либо ложно и никаких под условий быть не может.
0
Особый статус
 Аватар для Proffessional
743 / 145 / 6
Регистрация: 16.07.2009
Сообщений: 2,185
Записей в блоге: 1
14.10.2012, 02:38  [ТС]
fxxer, именно.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
14.10.2012, 07:38
Если оба условия вычисляются в любом случае, то их же можно вынести отдельно:
PHP
1
2
$x = ($a == $b);
$y = ($c == $d);
А потом что хотите, то и делайте:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
if ($x) {
    if ($y) {
    }
    else {
    }
}
else {
    if ($y) {
    }
    else {
    }
}
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
14.10.2012, 12:59
можно еще так наверное
PHP
1
2
3
4
5
6
7
8
if ($a != $b){
    echo 'a не равно b';
} elseif ( != $d){
    echo 'c не равно d';
} else {
    echo 'а равно b';
    echo 'c равно d';
}
0
101 / 95 / 8
Регистрация: 07.08.2013
Сообщений: 299
08.07.2014, 16:37
А как правильно реализовать вот это:
PHP
1
   if ($file != "." or ".." )
Можно как-то красивее нежели
PHP
1
   if ($file != "." and $file != ".." )
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
08.07.2014, 19:04
PHP
1
2
3
4
5
6
7
8
9
10
11
switch(true){
    case $a != $b:
        echo "a != b";
    break;
    case $c != $d:
        echo "c != d";
    break;
    default:
        echo "a == b && c == d";
    break;
}
С точками интереснее. В linux'е, например, это было в какой-то момент оптимизировано до проверки только если лишь первый символ точка - тогда не отображаем. Потом это стало фишкой линукса, типа скрытые файлы.. А вообще можно еще так:
PHP
1
2
3
if( !in_array( $file, ['.', '..'] ) ){
    // something
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.07.2014, 19:04
Помогаю со студенческими работами здесь

Проверка на существование нескольких переменных
<?php error_reporting(-1); header('Content-Type: text/html; charset=utf-8'); if (isset($_POST) && ($_POST)){ echo 'numbers are...

Проверка нескольких переменных на true
function get_true($var1,$var2,$var3,$var4,$var5,$var6){ if( ($var1 == true) and ($var2 == true) and ($var3 == true) and ($var4 ==...

Проверка нескольких условий
Здравствуйте. Есть массив чисел А. Мне нужно проверить все ли они меньше единицы -...

Проверка нескольких условий одновременно
Необходимо, что бы в ячейке M18 была формула, в которой при наличии хотя бы одного значения «Да» в выше лежащих ячейках, должно содержаться...

Проверка нескольких условий для ячейки
Помогите, пожалуйста, написать, такие условия. В некоторых ячейках есть обычные цифры, их нужно оставить без изменения. А в других...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru