Jump to content
  • 0

Не могу разобраться


hitenok
 Share

Question

Народ подстажите, запарился, не могу понять почему так return возвращает значение

function square($num, $as) {
return $num * $as;
}
print square(4, 14);

А так нет, в чем здесь принципальная разница и как вернуть в этом случае значение?

function square($num, $as) {
if (!$as) {
square($num, 14);
} else {
return $num * $as;
}
}
print square(4, '');

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

if (!$as) {
square($num, 14);
}

return не забыли вставить?

UPD

А вообще, вот так делают в цивилизованных странах:

function square($num, $as=14) {
return $num * $as;
}
print square(2, 13); // 26
print square(2); // 28

Edited by Gaspode
Link to comment
Share on other sites

  • 0

if (!$as) {
square($num, 14);
}

return не забыли вставить?

Нет, мне нужно вернуть return только при не выполнения условия, т.е. существования $as.

Приведенное выше просто пример попытка получить возврат при таких условия.

Edited by hitenok
Link to comment
Share on other sites

  • 0

square($num, 14);

А эта строка тогда зачем?

UPD Так, может, тогда?

function square($num, $as) {
if (!$as) {
return;
}
return $num * $as;
}

Я же написал, это пример, при первичном вызове функции - $as неизвестно и в реальном скрипте при первой отработке получается значение этой переменной, а при послудующем вычисляется окончательное значение.

function square($num, $as) {

if (!$as) {

return;

}

return $num * $as;

}

Не понял, тогда перевызова функции не будет, если переменная $as не установлена... вроде как.

Link to comment
Share on other sites

  • 0

Всем спасибо, разобрался, плохо учил мат часть, повторный вызов функции необходимо было делать тоже через return square();

т.е. правильно делать так

function square($num, $as) {
if (!$as) {
return square($num, 14);
} else {
return $num * $as;
}
}
print square(4, '');

Edited by hitenok
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy