|
|
|
| Не могу понять смысл такого скрипта:
if ($a = $b , true) {
echo $a; // $a до того не объявлялась
}
|
Что в такой конструкции дает нам true, и как мы сравниваем $a и $b если $a не определена? | |
|
|
|
|
|
|
|
для: starpom
(06.08.2010 в 15:48)
| | так там же $a не сравнивается
переменной $a присваивается значение переменной $b | |
|
|
|
|
|
|
|
для: psychomc
(06.08.2010 в 15:58)
| | а true зачем ?
По коду $b результат работы функции, так имеется в виду, что если функция сработала нормально и операция присвоения прошла успешно, то дальше работаем с $a? | |
|
|
|
|
|
|
|
для: starpom
(06.08.2010 в 16:09)
| | никогда не пользовался такой конструкцией.
могу предположить, не если операция прошла успешно, а если результат операции (т.е то что в $a) равно true то...
у меня интерпретатор выдает ошибку разбора на это выражение | |
|
|
|
|
|
|
|
для: starpom
(06.08.2010 в 15:48)
| | А вы выполняли сей скрипт? | |
|
|
|
|
|
|
|
для: sim5
(06.08.2010 в 17:35)
| | А вы выполняли сей скрипт?
Он являеться частью скрипта по активации аккаунта в достаточно сложной (для меня)
системе авторизации пользователей (скорее всего он связан с отсылкой юзеру на почту письма и дальнейших процедур) поэтому на локальном хосте я даже не знаю как его проверить -> не выполнял. | |
|
|
|
|
|
|
|
для: starpom
(06.08.2010 в 17:53)
| | А вы попробуйте выполнить только такую строку:
Чтобы распробовать суп совсем не обязательно съесть всю кастрюлю. | |
|
|
|
|
|
|
|
для: sim5
(06.08.2010 в 18:04)
| | Опять невнимательность, реально конструкция такая:
if($a = f($b, true))
echo $a;
|
После тупилова рискну все-таки еще спросить касательно этой же махинации
это полная схема (и вроде как без ошибок):
function my($a, $b = false)
// что делает $b = false (почему именно так задаеться параметр)
{
if(!$b)
$c = 'hello'; }
|
А дальше в такую функцию закидываеться славноизвестный true.
if ($h = my($n , true)) {
// И что будет если мы вместо него закинем true
echo $h;
}
|
| |
|
|
|
|
|
|
|
для: starpom
(06.08.2010 в 18:37)
| | Во-первых, если объявлена функция с именем my, тогда должно быть:
Что касаемо функции и объявления в ней $b = false, то это означает, что второй аргумент ее по умолчанию принимает значение false. Ну а сама функция при этом присваивает значение перменной $c, следовательно, если передать в функцию вторым аргументом true, то.... ? | |
|
|
|
|
|
|
|
для: sim5
(06.08.2010 в 18:44)
| | То значение $c она не присвоит, но выполнит дальнейшие действия (если таковые имеються) и вернет уже что-то немного другое , чем по умолчанию.
Кто поучавствовал, все спасибо! | |
|
|
|