|
|
|
| У меня есть функция с кучей параметров которые иногда нужно править
и эту фукцию надо вызывать несколько раз в файле
можно как нибудь сделать ссылку на фукцию чтобы параметры передавались в функцию один раз а потом просто писать ссылку на нее ?? | |
|
|
|
|
|
|
|
для: nill
(15.02.2008 в 01:21)
| | что-бы не обязательно передавать парамеиры делается как-то так
<?
function tst($str = '', $flag = 0, $num = 0)
{
static $num_2 = 11111;
static $flag_2 = 0;
static $str_2 = '';
if (!empty($str)) $str_2 = $str;
if ($num > 0) $num_2 = 22222;
if ($flag) $flag_2 = ($flag_2) ? 0 : 1 ;
echo $str_2 . '<br />' . $num_2 . '<br />' . $flag_2 . '<br />' . "\n"
. "<hr />\n";
}
tst();
tst('odin', 1);
tst('dva');
tst('tri', 1, 1);
tst();
?>
| а так лучше использовать global, передавать параметры по ссылке. | |
|
|
|
|
|
|
|
для: exp
(15.02.2008 в 02:50)
| | не очень понятно
у меня переменные передаваемые функции (они же параметры) уже заданы
то есть я не могу писать
function tst($str = '', $flag = 0, $num = 0)
только
function tst ($str, $flag $num)
и больше никак | |
|
|
|
|
|
|
|
для: nill
(15.02.2008 в 03:16)
| | по ссылке можно передавать параметры например
xxxxx(&$param);
тогда если этой переменной внутри функции присвоится какое-то значение , фактически оно присвоится этой переменной вне функции.
аналогично делается если внутри функции global.
а static создаёт статические переменные внутри функции
которые на протяжении работы скрипта сохраняют значение при повторных вызовах
но занимает память
<?
function tst($str = 0, $flag = 0)
{
static $flag_2 = '';
static $str_2 = '';
if ($str) $str_2 = $str;
if ($flag) $flag_2 = $flag ;
echo $str_2 . ' мыла ' . $flag_2 . '<br />' . "\n"
. "<hr />\n";
}
tst('мама', 'раму');
tst();
tst('', 'папу');
tst();
tst('тётя');
?>
|
| |
|
|
|
|
|
|
|
для: nill
(15.02.2008 в 01:21)
| | Если вызывать несколько раз с одинаковыми параметрами - юзайте global и ниче не передавайте | |
|
|
|