PHP: <?php ## Возврат ссылки. $a = 100; function &r() // & - возвращает ссылку { global $a; // объявляет $a глобальной return $a; // возвращает, ссылку, а не значение! } $b =& r(); // не забудьте & !!! $b = 0; // присваивает переменной $a! echo $a; // выводит 0. Это значит, что теперь $b - синоним $a ?>
Там реально ничего не объясняется? Потому что ссылка на переменную. Вон даже в комментариях сказано - ссылка. Без значков & копировалось бы значение, а так одна переменная становится синонимом другой, т.е. изменение $a ведёт к изменению $b и наоборот. https://secure.php.net/manual/ru/language.references.php
PHP: <?php ## Извлекаем только четные элементы. function reject($arr, $callback) { foreach($arr as $value) { if(!$callback($value)) yield $value; } } $arr = [1, 2, 3, 4, 5, 6]; $reject = reject($arr, function($e){ return $e % 2 == 0 ? true : false; }); foreach($reject as $val) echo "$val "; ?>
@ubunta2 что отладка показывает? отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
PHP: <?php ## Извлекаем только четные элементы. function select($arr, $callback) { foreach($arr as $value) { if($callback($value)) yield $value; } } $arr = [1, 2, 3, 4, 5, 6]; $select = select($arr, function($e){ return $e % 2 == 0 ? true : false; }); foreach($select as $val) echo "$val "; ?> А ТУТ 2 4 6
Код (Text): <?php ## Возврат значения по ссылке function &reference() { $value = 3; while ($value > 0) { yield $value; } } foreach (reference() as &$number) { echo (--$number).' '; } ?>
предекремент+эхо в цикле. ок? там вообще должно вывестись через пробел. а еще можно конкатенацию оптимизировать до аргументов конструкции эхо.
PHP: <?php ## Множественная замена в строке. $from = ["{TITLE}", "{BODY}"]; $to = [ "Философия", "Представляется логичным, что сомнение представляет онтологический смысл жизни. Отношение к современности поразительно." ]; $template =<<<MARKER <!DOCTYPE html> <html lang='ru'> <head> <title>{TITLE}</title> <meta charset='utf-8'> </head> <body>{BODY}</body> </html> MARKER; echo str_replace($from, $to, $template); ?>