В чем разница между этими двумя циклами foreach? - PullRequest
0 голосов
/ 24 мая 2010

Я видел в CakePHP, что цикл foreach используется так


foreach($tags as $tag) :
       \\code here
endforeach;

и я писал этот стиль foreach


foreach($tags as $tag)
{
     //code here
}

В чем разница между этими двумя циклами foeach и какая из них лучше и имеет больше смысла для реализации?

Спасибо

Ответы [ 6 ]

6 голосов
/ 24 мая 2010

Они эквивалентны, но second first иногда более читабелен, когда ваш PHP встроен в HTML.

3 голосов
/ 24 мая 2010

Первый датируется ранним синтаксисом PHP (до PHP 4), а второй является тем, что принято сейчас. ИМХО, я бы не использовал первый и всегда использовал фигурные скобки, даже для чего-то вроде

<?php foreach ($foo as $f) { ?>
<div><?= $f ?></div>
<?php } ?>

Потому что у многих редакторов есть подсветка фигурных скобок, и так просто лучше:)

3 голосов
/ 24 мая 2010

Они эквивалентны, но первый иногда более удобен для чтения, когда ваш PHP встроен в HTML.
:) ~

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

3 голосов
/ 24 мая 2010

Они идентичны. Я бы использовал те, что в фигурных скобках, так как синтаксис больше похож на другие конструкции PHP, C, C ++, Java и т. Д.

2 голосов
/ 24 мая 2010

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

Так же, как альтернатива для оператора IF:

<code><?php
if ($foo):
   echo "is ok\n";
elseif ($bar):
   echo "not ok\n";
else:
   echo "dont't know\n";
endif;
?>
0 голосов
/ 27 мая 2010

Все сводится к стандартам личного или командного кодирования.Я предпочитаю параметр {}, так как он делает код более читабельным.Да, в HTML это выглядит беспорядочно, но опять-таки с помощью стандарта кодирования вы можете это облегчить.

Если в цикле много HTML и PHP, использование опции: может привести к серьезной путанице в нижней частикод, особенно если цикл проходит внизу страницы.Подсветка синтаксиса с помощью {} позволит вам намного легче идентифицировать содержимое цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...