|
|
|
| Обычно вызов функции происходит в виде:
<?php
functionName ( $name , $message )
{
...
}
echo functionName ( $name , $message );
?>
|
Также я могу сделать так:
<?php
functionName ( $name , $message , $page = 5 )
{
...
}
echo functionName ( $name , $message );
?>
| Т.е. мне не понадобилось уточнять третий параметр при вызове функции.
Вопрос: можно ли этот параметр $page вставить в функцию, если переменная определена перед ней?:
<?php
$page = 0;
// ...
// Куча всякого кода, где я определяю значение $page.
// ...
functionName ( $name , $message , $page )
{
...
}
echo functionName ( $name , $message );
?>
|
| |
|
|
|
|
|
|
|
для: Maxam
(16.06.2011 в 12:20)
| | Нет, не получится. На самом деле $page = 0; и $page в функции - это разные переменные. Если вы одну из них переименуете, скажем $page = 0, замените на $number = 0, на функции Name - это никак не отразится. Связь возникает, только когда вы вызываете функцию и передает ей параметры, причем их имена также могут не совпадать с изначальными. | |
|
|
|
|
|
|
|
для: cheops
(16.06.2011 в 12:30)
| | Жалко, очень жалко. Спасибо, что пояснили. | |
|
|
|
|
|
|
|
для: Maxam
(16.06.2011 в 12:20)
| | в этом случае обычно поступают так
<?php
function functionName($name, $message) {
global $page;
// ....
}
|
| |
|
|
|
|
|
|
|
для: psychomc
(16.06.2011 в 12:40)
| | Я так понимаю в этом случае значение $page мне нужно генерировать в самой функции? | |
|
|
|
|
|
|
|
для: Maxam
(16.06.2011 в 12:56)
| | Нет, в этом случае переменная становится глобальной, т.е. её значение вы можете изменять как вне, так и внутри функции. Так как в больших приложениях значение может измениться много где, стараются избегать таких глобальных переменных, но иногда они очень полезны и нужны (если значение действительно глобальное и меняется в одном месте). | |
|
|
|
|
|
|
|
для: cheops
(16.06.2011 в 13:09)
| | Т.е. я правильно понял:
<?php
$page = 5 + 2;
function functionName() {
global $page;
return "<b>$page</b>";
}
echo functionName(); // выведет "<b>7</b>"?
?>
|
| |
|
|
|
|
|
|
|
для: Maxam
(16.06.2011 в 13:54)
| | Да, совершенно верно, а изменения внутри functionName() будут отражаться на значении $page во вне функции. | |
|
|
|
|
|
|
|
для: cheops
(16.06.2011 в 14:55)
| | Замечательно, это то, что и было нужно. Спасибо.
На самом деле внутри функции менять значения пеменных не нужно, нужно в функциях нескольких сразу использовать одни и теже значения пемеренных. Просто надоело их всегда вписывать при вызове этих нужных функций.
Спасибо большое! | |
|
|
|
|
|
|
|
для: Maxam
(16.06.2011 в 12:56)
| | нет. в этом случае значение и адрес $page будет взято из внешней программы. а что с ним делать дальше решать вам
p.s советую покопать в сторону передачи параметры по ссылке | |
|
|
|