Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6085
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Гото команда в PHP?
Я слышал слухи, что PHP планирует ввести команду "goto". Что он должен делать?
Я попытался немного поискать, но не нашел ничего ужасно описательного. Я понимаю, что это не будет команда типа "GOTO 10"...
Они не добавляют реальный GOTO, а расширяют ключевое слово BREAK, чтобы использовать статические метки. В основном, это будет повышение способности вырваться из вложенных операторов if switch . Вот пример концепции, который я нашел:
<?php
for ($i = 0; $i < 9; $i++) {
if (true) {
break blah;
}
echo "not shown";
blah:
echo "iteration $i\n";
}
?>
Конечно, как только GOTO "rumor" вышел, не было ничего, чтобы остановить некоторых злых парней, чтобы распространить дополнительную шутку COMEFROM. Будьте начеку.
Смотреть также:
http://www.php.net/~derick/meeting-notes.html#добавление-goto
Я всегда поражаюсь тому, насколько невероятно тупы дизайнеры PHP. Если цель использования GOTOs состоит в том, чтобы сделать прорыв из многократно вложенных циклы более эффективны есть лучший способ: помеченные блоки кода и ломать операторы, которые могут ссылаться на метки:
a: for (...) {
b: for (...) {
c: for (...) {
...
break a;
}
}
}
Теперь ясно, из какого цикла / блока нужно выйти, и выход структурирован; вы не можете получить спагетти-код с этим, как вы можете с реальными goto.
Это старая-престарая идея. Проектирование хорошего управления потоком управления структуры были решены еще с 70-х годов, и литература по всему этому это давно уже записано. Теорема Бома-Якопини показала, что вы можете закодировать что угодно с помощью вызова функции, if-then-else и циклов while. На практике, чтобы вырваться из глубоко вложенных блоков, стиль Бома-Якопини кодирование требует дополнительных логических флагов ("установите этот флаг, чтобы выйти из цикла") который был неуклюжим, мудрым и неэффективным (вам не нужны такие флаги в вашей внутренней петле). С if-then-else, различные петли (в то время как, для) и блок break-to-labelled, вы можете закодировать любой алгоритм без no потеря эффективности. Почему люди не читают литературу, вместо этого о копировании того, что сделал C? Гррр.
Конечно, я не программист PHP, и я не знаю, как будет выглядеть точная реализация GOTO PHP, но вот мое понимание GOTO:
GOTO-это просто более явный оператор управления потоком, как и любой другой. Допустим, у вас есть несколько вложенных циклов, и вам нужно найти только одну вещь. Вы можете ввести условный оператор (или несколько), и когда условия выполняются должным образом, вы можете использовать оператор GOTO, чтобы выйти из всех циклов (вместо того, чтобы иметь оператор 'break' на каждом уровне вложенности с условным оператором для каждого. И да, я считаю, что традиционная реализация должна иметь именованные метки, к которым оператор GOTO может перейти по имени. Вы можете сделать что-то вроде этого:
for(...) {
for (...) {
for (...) {
// some code
if (x) GOTO outside;
}
}
}
:outside
Это более простая (и более эффективная) реализация, чем без операторов GOTO. Эквивалент будет следующим:
for(...) {
for (...) {
for (...) {
// some code
if (x) break;
}
if(x) break;
}
if(x) break;
}
Во втором случае (что является обычной практикой) есть три условных оператора, что явно медленнее, чем просто иметь один. Таким образом, в целях оптимизации/упрощения вы можете использовать операторы GOTO в плотно вложенных циклах.
Похоже, что в настоящее время он находится в PHP 5.3, но еще не полностью задокументирован. Из того, что я могу сказать, он разделяет свой синтаксис goto с C, поэтому его должно быть легко подобрать и использовать. Просто помните предупреждение Дийкстры и используйте его только в случае необходимости.
есть goto в php - > http://php.net/manual/en/control-structures.goto.php, но я бы не использовал его, просто напишите нормальный код...