|
|
|
| после функции parse_url,идет следущий код:
if ($url['scheme'] == 'https')
{
$url['port'] = ($url['port'] ? $url['port'] : 443);
}
else
{
$url['port'] = ($url['port'] ? $url['port'] : 80);
}
$url['path'] = ($url['path'] ? $url['path'] : '/');
|
В докуметации пхп,ничего про $url['port'],хотя где-то я читал,что в parse_url,она присутствует,но не в этом деле,я не понимаю следующую строчку
$url['port'] = ($url['port'] ? $url['port'] : 443);
|
покапался и нашел следующее:
<условие>?<выражение,выполняющее условие,если true условие>:<выражение,если услвие false>
|
Вопрос,какое здесь условие? | |
|
|
|
|
|
|
|
для: lgar
(23.06.2007 в 20:47)
| | На самом деле код
$url['port'] = ($url['port'] ? $url['port'] : 443);
не совсем корректен.
Если $url['port'] существовать не будет, то появится Notice: undefined index port ...
Нужно заменить на
$url['port'] = isset($url['port']) ? $url['port'] : 443; | |
|
|
|
|
|
|
|
для: Unkind
(23.06.2007 в 20:55)
| | спасибо,но всё-таки условие какое.Например порт 8080 | |
|
|
|
|
|
|
|
для: lgar
(23.06.2007 в 21:11)
| | В PHP пустые переменные: string(0) и переменные, равные нулю: int(0), float(0), а также NULL равны bool(false).
Если переменная не существует, то возвращается NULL.
Следовательно, получается:
$url['port'] = (NULL ? $url['port'] : 443);
<=>
$url['port'] = (false ? $url['port'] : 443);
Условие - "правильная" ли переменная $url['port']?
Например порт 8080
8080 не является пустой строкой, не является нулем. Значит условие "правильности" будет соблюдено и $url['port'] станет равно 8080. | |
|
|
|
|
|
|
|
для: Unkind
(23.06.2007 в 21:48)
| | большое спасибо | |
|
|
|