Могу ли я перейти из PHP if{} в else{}

Если у меня есть код что-то вроде этого

<?php
 if ( X == Y ){
    find a record in the db
    some condition
 }
 else{
    do something
 }

можно ли перейти к оператору else на основе some condition?

Итак, X действительно равен Y, но что-то в найденной записи базы данных является триггером, который заставляет меня хотеть запустить код else{}.

Я знаю, что могу продублировать код внутри if{} или создать функцию.

Это не какой-то критически важный код, это скорее любопытный вопрос.

Взгляните сюда: php.net/manual/en/control-structures.goto.php

JollyRoger 14.12.2020 22:20

Вы не можете просто запустить код else, но есть много способов решить подобную проблему. Решение будет зависеть от проблемы.

user9613905 14.12.2020 22:21

НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТЕЕЕЕЕЕЕЕЕЕЕТЕЕЕЕЕЕЕЕЕЕЕЙЕЙЕЙЕЙЕЙНОЙ goto!

AbraCadaver 14.12.2020 22:21

@AbraCadaver как человек, который начал с BASIC, я очень хорошо знаю, как создавать спагетти-код :о)

Steve 14.12.2020 22:32

@Steve: Да, ZBasic и GW-Basic :-)

AbraCadaver 14.12.2020 22:43
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
64
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В PHP есть инструкция goto, но я бы посоветовал не использовать ее, а вместо этого реструктурировать код, возможно, примерно так:

function checkCondition() {
    // find record in db
    // some condition, return false if you want to go into else below
}

if ((x == y) && checkCondition()) {
    // action 1
} else {
    // do something
}
Ответ принят как подходящий

Вы также можете сделать это без else, но с дополнительным if.

// Set a flag that tells us if we should run the code or not
$runIt = true;

if (X == Y) {
    $runIt = false;
    // Do cool stuff
    // If some condition:
    $runIt = true;
}

if ($runIt) {
   // Do your stuff...
}

Другие вопросы по теме