Intereting Posts
Facebook PHP API сообщение на стене подпадает под "Последние сообщения от других" Невозможно расшифровать с помощью pgcrypto от AES-256-CBC, но AES-128-CBC в порядке PHP ajax database: как передать две переменные и получить данные из них в разных вариантах? 500 Внутренняя ошибка сервера PHP Script – пробовал большинство ответов если утверждения в php-шаблонах с использованием tpl Выбрасывание исключений из модели / представления / контроллера в приложении Zend Framework Как установить свойство «FROM» с помощью Swiftmailer с Gmail? Создание массива и форматирование JSON для API Google Charting API Тест PHPUnit Сколько раз вызывается функция Могу ли я поменять цвета в изображении с помощью библиотеки GD в PHP? Создание PHP-кода (из токенов Parser) Как вы разбиваете субзапросы на CakePHP 3? Файл конфигурации yaml для среды выполнения php Вывод данных в php из sql как проверить несколько файлов типа ввода с помощью модуля проверки правильности jquery

Нужен ли вам перерыв при использовании возврата?

Мне было интересно, нужно ли мне использовать «break» в функции «switch», когда используется «return».

function test($string) { switch($string) { case 'test1': return 'Test 1: ' . $string; case 'test2': return 'Test 2: ' . $string; } } 

Я пробовал это, и он отлично работает без «перерыва». Но мне нужно знать, безопасно ли это. Спасибо.

Solutions Collecting From Web of "Нужен ли вам перерыв при использовании возврата?"

Да, вы можете использовать return вместо break

break является необязательным и используется для предотвращения «падения» во всех остальных case . Таким образом, return может быть использован аналогичным образом, так как return завершает выполнение функции.

Кроме того, если все ваши case заявления выглядят так:

 case 'foo': $result = find_result(...); break; 

и после оператора switch вы просто return $result , используя return find_result(...); в каждом case ваш код будет более читабельным.

Наконец, не забудьте добавить случай по default . Если вы считаете, что ваш код никогда не достигнет случая по default вы можете использовать функцию assert , потому что вы никогда не можете быть уверены.

Вам не нужен перерыв, возврат прекращает выполнение функции.

(для справки: http://php.net/manual/en/function.return.php говорит:

Если вызывается из функции, оператор return () немедленно прекращает выполнение текущей функции

)

Нет, это не обязательно, потому что, когда вызывается возврат ключевого слова, он укажет, что конкретная функция, вызванная вызовом switch / case, подошла к концу.

Нет, вам не нужен break в заявлении о switch case оператора. break на самом деле необязательный, но используйте его с осторожностью.

Вам это не нужно, но я бы настоятельно советовал использовать его в любом случае в качестве хорошей практики.

Разрыв – это просто предостерегающее утверждение, используемое для ограничения контроля над структурой коммутатора от перехода в другой случай … например, если у вас есть три оператора case и значение для первого случая, и вы использовали случай без какой-либо структуры разлома, тогда все следующие случаи будет выполняться вопреки условию, удовлетворяющему только для первого случая … Возврат может выполнять функцию asme, поэтому это не будет проблемой, если вы используете возврат вместо перерыва, потому что возврат будет удален от оператора case switch которая в этот момент нужна … надеюсь, это поможет ….

return возвращает управление вызывающему методу, когда перерыв переходит к первой команде после блока переключения.