|
|
|
| вот смотрел урок , да и создавал функции. ну знаю что функция return возвращает параметры а для чего?
Если не поставить return то переменные после функции исчезнут??? | |
|
|
|
|
|
|
|
для: kvins
(18.02.2011 в 13:17)
| | Исчезнут, так как они не являются глобальными, потому они и возвращаются для дальнейшего использования, только вернее не переменные возвращаются, а результат работы функции. Хотя можно и не возвращать, и не потерять результат работы ее. Для этого внешнюю, по отношению к функции, переменную можно, например, объявить глобальной и присвоить результат работы функции ей. | |
|
|
|
|
|
|
|
для: kvins
(18.02.2011 в 13:17)
| | Внутри функции устанавливаются переменные с локальной областью видимости - за пределами функции эти переменные не существуют.
Функция - это процесс, после исполнения которого должен быть результат. Этот результат и возвращает return.
<?php
//Функция возвращает строку:
function asd(){
$a = 2*2;
return $a;
}
$result = asd();
print $result;
//Функция может возвращать массив:
function asd1(){
$b = 2*2;
$d = 2*3;
$a = array($b,$d);
return $a;
}
$result1 = asd1();
print_r($result1);
//функция ничего не возвращает,
//но имеет глобальную переменную, в которую все и пишется
function asd2($b,$d){
global $a;
$a = $b+$d;
}
$b = 4;
$d = 9;
asd2($b,$d);
print $a;
?>
|
| |
|
|
|
|
|
|
|
для: Лена
(18.02.2011 в 14:19)
| | спс в принципе понятно . хотя я видел что переменные выводят из функции а только потом ее туда вставляют
и так же с get & post запросом , если они пришли с другого куска и присвоить
например так $qq = $_get('qq') до функции а только потом ее туда вставить то тогда return не нужна???
или она уже чета измененое выводит??
$b = 2*2;
$d = 2*3;
function asd1(){
$a = array($b,$d);
return $a;
}
вроде в 1 посте она и имелла это ввиду тока без глобального значения
хотя в принципе все понял да и несложно вписать)))))))))) | |
|
|
|
|
|
|
|
для: kvins
(18.02.2011 в 16:13)
| | можете сразу вот так написать
<?php
function asd1(){
// .....
return array($b,$d);
}
|
и еще передача параметра по ссылке
<?php
function inc(&$param) {
$param ++;
}
$x = 5;
inc($x);
echo $x;
|
| |
|
|
|
|
|
|
|
для: psychomc
(18.02.2011 в 16:19)
| | вроде вопрос легкий а скока решений))) выбирай что хочешь))
кароче у каждого свой стиль я так понял))
уверен еще и нетак можно сделать | |
|
|
|
|
|
|
|
для: kvins
(18.02.2011 в 16:38)
| | нет, дело не в стилях. зависит от ситуации. иногда в пользу читабельности, иногда в пользу скорости тот или иной вариант | |
|
|
|
|
|
|
|
для: psychomc
(18.02.2011 в 16:53)
| | Преждевременная оптимизация... ^__^
Хотя согласен - например, чтение больших файлов построчно, а не чтение всего его в память ни разу не преждевременная оптимизация. | |
|
|
|
|
|
|
|
для: neadekvat
(18.02.2011 в 17:07)
| | да наверное...да и кстати люблю сокращать код и избегаю присвоений там где можно обойтись без них. | |
|
|
|
|
|
|
|
для: psychomc
(18.02.2011 в 17:18)
| | Я тоже. Малое количество кода всегда лучше, чем большое :)
Вообще, выработан свой набор правил, который не совпадает ни с одним существующим - и порой чужой код открываешь - хоть стой, хоть падай. Будто чьи-то ношенные, нестиранные трусы одел. | |
|
|
|
|
|
|
|
для: neadekvat
(18.02.2011 в 17:25)
| | то же самое :)
я себе кстати даже собрал chm по своему стандарту кодирования. получилась сборная солянка из всяких рекомендаций, которые приглянулись | |
|
|
|
|
|
|
|
для: psychomc
(18.02.2011 в 17:31)
| | А я нагло стырил у Коханы, перевел и изменил под себя.
Когда забываю, как сам же решил писать - подглядываю на http://test1.ru/cs :) | |
|
|
|
|
|
|
|
для: psychomc
(18.02.2011 в 16:19)
| |
<?
function inc($p) {
return $p ++;
}
$x = 5;
echo array_map('inc', $x);
|
| |
|
|
|
|
|
|
|
для: Косорылый
(19.02.2011 в 15:43)
| | есть и такое, но я всего лишь хотел показать автору как работает передача параметра по ссылке :) | |
|
|
|
|
|
|
|
для: psychomc
(19.02.2011 в 17:43)
| | вот как раз ему после видеоурока передача параметра по ссылке - самое то. | |
|
|
|