Good Morning. Прошу прощения если не там создал тему. Перечитывая документацию, столкнулся с непонятными фишками и возник вопрос - А где это черт возьми написано ? Именованные аргументы Зарегистрированные имена аргументов ? Окай... идем смотреть где они зарегистрированные https://www.php.net/manual/ru/function.array-fill.php Либо тут банально опечатка...
@MouseZver, ну да, опечатка. $count - опечатка Обрати внимание на подсказку по функции, что IDE выдаёт: PHP: /** * Fill an array with values * <p>Fills an array with <code>num</code> entries of the value of the <code>value</code> parameter, keys starting at the <code>start_index</code> parameter.</p> * @param int $start_index <p>The first index of the returned array.</p> <p>If <code>start_index</code> is negative, the first index of the returned array will be <code>start_index</code> and the following indices will start from zero (see example).</p> * @param int $num <p>Number of elements to insert. Must be greater than or equal to zero.</p> * @param mixed $value <p>Value to use for filling</p> * @return array <p>Returns the filled array</p> * @link https://php.ru/manual/function.array-fill.html * @see array_fill_keys(), str_repeat(), range() * @since PHP 4 >= 4.2.0, PHP 5, PHP 7 */ function array_fill(int $start_index, int $num, $value): array {} --- Добавлено --- Хотя в исходниках 8-ки (basic_functions.stub.php): PHP: function array_fill(int $start_index, int $count, mixed $value): array {} А в array.c: Код (Text): /* {{{ Create an array containing num elements starting with index start_key each initialized to val */ PHP_FUNCTION(array_fill) { zval *val; zend_long start_key, num; ZEND_PARSE_PARAMETERS_START(3, 3) Z_PARAM_LONG(start_key) Z_PARAM_LONG(num) Z_PARAM_ZVAL(val) ZEND_PARSE_PARAMETERS_END(); /* ..... */ } /* }}} */ Так что да, num как имя параметра.
Нет, там написано зарезервированные ключевые слова. А вот и список https://www.php.net/manual/ru/reserved.keywords.php
@MouseZver "зарегистрированные имена аргументов" такого вообще нет. В документации написано про зарезервированные слова. Прямо на твоём скриншоте выделено синим. --- Добавлено --- @MouseZver а стрелочками ты указал на типы. Они там всегда были в документации, и до появления именованных аргментов. Если ты ищешь имена аргументов, то это имена переменных прописные в документации.
открой именованные аргументы по ссылке 1 поста обрати внимание на указанный num аргумент. теперь Челлендж: Найди об этом аргументе в доке... А вдруг захочу указать num666: $var - но нельзя... Почему ?
@MouseZver там опечатка, потому что если запустить пример, вылазит ошибка Unknown named parameter $num
Кстати, то, что в 8-ке $num заменили на $count, а не на $amount или $qty какие-нибудь, более чем странно. Лучше бы camelCase алиасов ф-циям добавили и их параметрам (возможно, даже местами переставив порядок, а то с ним тоже бардак), заодно сгенерив отдельную документацию для 8-ки )
@don.bidon я репортнул это как баг, теперь там в 14 примере поменяли на count, а в 15 отстался num *facepalm.jpg*