Циклы без фигурных скобок в php

171
08 июля 2018, 01:00

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

foreach ( $arr as $key => $val )
{
    // ...
}
Answer 1

Вот пример вывода чисел из массива типа "список" в круглых скобках цикла for :

<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$all = count($arr) - 1;
for ($i = 0; print "Ключ: $i, значение: {$arr[$i]}<br>", $i++ < $all;)
?>

Результат:

Ключ: 0, значение: 1
Ключ: 1, значение: 2
Ключ: 2, значение: 3
Ключ: 3, значение: 4
Ключ: 4, значение: 5
Ключ: 5, значение: 6
Ключ: 6, значение: 7
Ключ: 7, значение: 8
Ключ: 8, значение: 9
Ключ: 9, значение: 10

Ещё можно прямо в круглых скобках цикла for распечатывать ассоциативные массивы. Практически использовать такой подход - извращение, но в качестве учебных целей будет полезно узнать:

<?php
$arr = ['k1' => 'зачение1', 'k2' => 'зачение2', 'k3' => 'зачение3'];
for (reset($arr); print key($arr) . ' - ' . current($arr) . '<br>', next($arr););

Результат:

k1 - зачение1
k2 - зачение2
k3 - зачение3
Answer 2

Можно так

foreach ( $arr as $key => $val ) :
    // что-то
endforeach;

Мануал: Альтернативный синтаксис управляющих структур

READ ALSO
Прибавлять ID при отправке с формы

Прибавлять ID при отправке с формы

Подскажите как сделать чтобы при отправке с формы постоянно прибавлялся идентификатор 'id' в бд у меня поле id INT а все остальные text

184
Как очистить линейный массив на PHP?

Как очистить линейный массив на PHP?

Маюсь парсингом, но в результате мне удалось получить массив только с нужными мне значениями (кириллица)Всё остальное - пустые значения

219
Ошибка Parse error: syntax error, unexpected &#39;echo&#39; (T_ECHO) on line 57

Ошибка Parse error: syntax error, unexpected 'echo' (T_ECHO) on line 57

У меня есть синтакситечская ошибка, которую я не знаю, как исправитьОшибка: Parse error: syntax error, unexpected 'echo' (T_ECHO) in your code on line 57

167