Помощник
|
Переменная в функции доступна в основной программе, Как сделать? |
sc2r2bey
|
Сообщение
#1
|
||
|
|
||
|
|||
yury_mw |
16.2.2010, 14:32;
Ответить: yury_mw
Сообщение
#2
|
|
Вам, наверное, сюда: Глобальные переменные в PHP
|
|
|
ZiTosS |
16.2.2010, 21:49;
Ответить: ZiTosS
Сообщение
#3
|
|
sc2r2bey, а что вам мешает вернуть значение из функции и занести её в переменную вне функции. И работайте себе с ней в основной программе.
Как говорил наш преподаватель по Системному Программированию - глобальные переменные - это ЗЛО. Знаешь как нарушается читаемость твоей программы? Просто ужасно, особенно если подобных переменных много. Так что, лучше структурируйте правильно программу. Не надо никаких глобальных переменных внутри функций. |
|
|
sc2r2bey
|
Сообщение
#4
|
|
как это в коде выглядит?
-------------------- программирую web и для we |
|
|
ZiTosS |
18.2.2010, 18:14;
Ответить: ZiTosS
Сообщение
#5
|
|
sc2r2bey, что именно? Если ты про возвращаемые значения, то так:
[php]<?php // начало кода основной программы /* определение функции суммы 3 параметров */ function mySumma($param1 = 0, $param2 = 0, $param3 = 0) { $temp = 0; // объявляем и определяем локальную переменную в функции $temp = $param1 + $param2 + $param3; // суммируем все переданные 3 параметра return $temp; // возвращаем результат из функции } // продолжение кода основной программы /* вызываем функцию и получаем из неё значение */ $result = mySumma(); // вернет в $result - 0 $result = mySumma(1); // вернет в $result - 1 $result = mySumma(1,1); // вернет в $result - 2 $result = mySumma(1,2,3); // вернет в $result - 6 // конец кода основной программы ?>[/php] Вообщем как видишь, функция у нас получает на входе параметры (какие либо данные для обработки), а на выходе мы имеем результат (функция возвращает результат). Если вспомнить простейшую математику, нашу функцию можно записать так: Y = F(x1,x2,x3) где, в нашем случае: Y - переменная для хранения результата $result F - имя функции (к примеру в математике это cos, sin, tg, Im, Re и т.д.) x1 - первый входной параметр $param1 x2 - второй входной параметр $param2 x3 - третий входной параметр $param3 Функция, зависящая от трех параметров. Если что-то не понятно, спрашивай. |
|
|
sc2r2bey
|
Сообщение
#6
|
|
а только так можно?
[php]/* вызываем функцию и получаем из неё значение */ $result = mySumma(); // вернет в $result - 0 $result = mySumma(1); // вернет в $result - 1 $result = mySumma(1,1); // вернет в $result - 2 $result = mySumma(1,2,3); // вернет в $result - 6[/php] -------------------- программирую web и для we |
|
|
gaaarfild |
11.3.2010, 20:42;
Ответить: gaaarfild
Сообщение
#7
|
|
Так так и есть, просто там еще показано, как функция задается. Она же из воздуха не возьмется. А глобальные переменные если начнут пересекаться и путаться, найти ошибку будет очень сложно. Лучше возвращать.
|
|
|
ZiTosS |
11.3.2010, 21:25;
Ответить: ZiTosS
Сообщение
#8
|
|
|
sc2r2bey, есть возможность передавать переменные не по значению, а по ссылке, тогда при изменении переменной в функции, значение изменится и вне функции. Передача переменной по ссылке осуществляется ростановкой при передачи знака & перед переменной. Пример:
[php]<?php /* определение функции */ function myFunc($param) { $param++; // прибавляем к переменной единицу // функция ничего не возвращает } $i = 0; /* вызываем функцию и передаем переменную по ссылке */ myFunc(&$i); echo $i; // 1 /* вызываем функцию и передаем переменную по ссылке */ myFunc(&$i); echo $i; // 2 /* вызываем функцию и передаем переменную по значению */ myFunc($i); echo $i; // 2 (значение не изменилось) ?>[/php]
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Какая должна быть конверсия на партнёрской программе? | 7 | Bilish | 1306 | 20.1.2020, 16:11 автор: Santey |
|
Присоединяйся к партнерской программе INGRAMER и зарабатывай прямо сейчас! | 3 | andynelson | 1702 | 28.10.2019, 20:35 автор: -andyn- |
|
Команда Bitzlato.com приглашает вас присоединиться к нашей партнёрской программе! | 2 | Bitzlato | 1996 | 1.8.2019, 17:29 автор: Bitzlato |
|
Заработок на партнёрской программе Freedom-Stat | 0 | freedomstat | 2073 | 13.4.2019, 8:51 автор: freedomstat |
|
Заработок на партнерской программе Amazon Affiliates | 2 | Barbarossa | 3221 | 22.3.2019, 12:42 автор: spomoni |
Текстовая версия | Сейчас: 23.4.2024, 20:30 |