2013-03-13 2 views
1

Я новичок в php, поэтому не знаю много. Я РНР DOCS, например fwrite:В документации, что означает «['и'] '?

int fwrite (resource $handle , string $string [, int $length ]) 

что делает [ и ] обозначают? Я вижу их повсюду. Для чего они стоят?

+4

Это необязательные аргументы –

+1

Это означает, что это * Дополнительно *. – Rikesh

+4

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

ответ

6

Это означает, что параметр не является обязательным. Обычно по умолчанию указывается значение по умолчанию, используя , и подробно описано в описании.

В случае fwrite, это:

Если длина задан аргумент, запись остановится после того, как длина байтов были написаны или конец строки достигнут, что наступит первым.

+0

, но тогда почему '[' и ']'? Почему не просто ']' или просто '['? –

+5

@ Y.E.P Это не имеет для меня никакого смысла. – Kermit

+0

@ Y.E.P: Скобки окружают необязательный параметр (ы) ... если бы это было просто ']', вы не знали бы, где это началось, и просто '[' выглядит смешно. :) Не говоря уже о том, что иногда они вложены. – Ryan

2

Это дополнительный аргумент. Если вы не укажете его, будет использоваться значение по умолчанию. В документации, какой она есть, будет сказано в зависимости от функции.

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

$string = rtrim($string, '/');

Без дополнительного параметра '/' , пробелы будут обрезаны

+2

Можете ли вы добавить несколько слов? – Kermit

+0

@AarolamaBluenk Да, я редактировал свой ответ, когда вы сделали комментарий, спасибо за предложение! –

4

Это необязательные аргументы метода, вам не нужно их передавать.

Вообще, есть по умолчанию показано, например, в случае preg_quote, по умолчанию NULL:

string preg_quote (string $str [, string $delimiter = NULL ]) 

Если вы счастливы с этим по умолчанию, вы можете опустить аргумент. Другим хорошим примером может служить mktime.

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]]) 

Обратите внимание, что в документации mktime «s, это указано, что вы можете пропустить параметры, используя определенный формат:

Аргументы могут быть опущены в порядке справа налево; любые аргументы, опущенные таким образом, будут установлены на текущее значение в соответствии с локальной датой и временем.

0

Это означает, что это необязательный параметр.

+4

Не могли бы вы расширить свой ответ? Ваш ответ не добавляет ничего нового, о котором еще не было сказано. – Kermit

+0

Извините, это было в моем браузере, и я думал, что я первый ответ. Это простой ответ на простой вопрос. Идея для меня совершенно понятна, но я думаю, что некоторым людям повезло меньше. – karmafunk

Смежные вопросы