Видимо у вас кроме "теоретических" задачек когда нужен reset/key/next/prev/... вместо итератора - нет.
А я где-то написал, что итератор не перебирает значения?
Передергивание высказываний ... ммм обожаю.
Foreach ограничен, о чем говорит его название "для всех", нужно что-то иное, он уже не подходит.
это чьи слова?
Ну для начала если у вас в памяти массив на 1М значений, то foreach меньшая из проблем :) А в какой ситуации нам неважен сам элемент, а важен лишь его порядок? Разве что при пагинации, но возвращаемся к вопросу зачем вообще 1М значений в памяти?
Эээ итератор делает то что он должен - перебирает значения. Если нужно "что-то иное", то по определению итератор не подходит т.к. он не "что-то иное".
а чем конструкция if (условие) continue не устраивает внутри foreach?
Foreach при любом раскладе удобнее чем процедурные функции, которые ИМХО рудимент без полезной нагрузки.
Нужно мне сделать функцию работающую по принципу чёрной коробки - функция принимает ссылку и возвращает скачанный файл, ну или false если скачать файл по какой-то причине не получилось
Если file_get_contents при загрузки файла из сети получает не 200-ый ответ, он выдает ошибку. Как эту ошибку перехватить?
С самой пересылкой данных на сайт проблем нет.
лучше знать 1 язык хорошо, чем 3 не хорошо.
Т.е. для MyClass2 она вернет:
array(1) {
["id"]=>
NULL
}
а что она по новой логике должна вернуть для MyClass?
Для <?= //$x ?>, разверните короткую запись в полную, если не видите ошибки:
<?php echo //$x ?>
Т.е. вы используете echo без аргументов, а это нарушение синтаксиса. Получается ошибки интерпретатора нет, есть хотелка на внедрение новой языковой конструкции. Сейчас <?= просто алиас, сокращение, вы же хотите новую конструкцию с иным поведением. Без достаточно веских причин, вряд ли этим займутся.