0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 73
1

Передача переменных в функцию

03.03.2015, 23:27. Показов 1181. Ответов 8
Метки нет (Все метки)

Привет Пацаны
Немогу понять работу функции. Ниже пример.


PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
function increment(&$value, $amount = 1) {
$value = $value + $amount;
}
 
$value = 10;
increment($value);
echo $value;
 
 
?>

Почему не работает данная функция если сделать так (пример также ниже)

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
function increment(&$value, $amount = 1) {
$zalupka = $value + $amount;
}
 
$value = 10;
increment($value);
echo $value;
 
 
?>
Немогу понять, почему если заменить $value = $value + $amount; вот этим $zalupka = $value + $amount;
Перестает считать функция до 11
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2015, 23:27
Ответы с готовыми решениями:

Передача переменных
&lt;form action=&quot;test.php&quot;&gt; -фаил в этой же папке &lt;table&gt; &lt;tr&gt; &lt;td&gt; Описание задачи &lt;/td&gt; ...

Передача переменных
Привет всем. Такой вопрос: Есть некая форма, в которую вводится значение переменной Х и передаётся...

Передача переменных
Как передать переменную через через форму кнопкой без поле ввода.

Передача переменных
Добрый день дорогие форумчане!! Возник такой вопрос: Передо мной стоит задача, реализовать...

8
Эксперт PHP
934 / 692 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
03.03.2015, 23:37 2
1. Отметь ты в своих функциях ничего не возвращаешь
2. в первой функции изменяется значение &$value перданное по ссылке
в 2 варианте ты изменяешь $zalupka
0
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 73
03.03.2015, 23:41  [ТС] 3
Как мне $zalupka = $value + $amount; сделать чтобы считало до 11 ? На примере того что выше


PHP
1
2
3
4
5
6
7
8
9
<?php
function increment($zalupka, $value = 6, $amount = 1) {
$zalupka = $value + $amount;
}
 
echo $zalupka;
 
 
?>
Возвращает значение 6 как мне сделать 7?
0
Эксперт PHP
934 / 692 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
03.03.2015, 23:56 4
PHP
1
2
3
4
5
function increment($value = 6, $amount = 1) {
  return $value + $amount;
}
 
echo increment();
0
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 73
04.03.2015, 00:06  [ТС] 5
Если я ничего не возвращаю, тогда почему не увеличивается цифра?

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
function increment(&$value, $amount = 1) {
$zalupka = $value + $amount;
}
 
$value = 10;
increment($value);
echo $zalupka;
 
 
?>
$zalupka = $value + $amount; Так НЕ ПРИБАВЛЯЕТ + 1
$value = $value + $amount; Так прибавляет +1
Почему при $zalupka не складывает числа?

Добавлено через 7 минут
Дядя Федор жду вашего ответа)
0
Эксперт PHP
934 / 692 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
04.03.2015, 00:58 6
Цитата Сообщение от Poznakomlus Посмотреть сообщение
в первой функции изменяется значение &$value перданное по ссылке
$zalupka переменная не определена
0
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
04.03.2015, 01:34 7
PHP
1
2
3
4
function increment(&$value, $amount = 1) {
GLOBAL $zalupka;
$zalupka = $value + $amount;
}
0
47 / 86 / 11
Регистрация: 12.08.2013
Сообщений: 460
04.03.2015, 05:46 8
Лучший ответ Сообщение было отмечено mormyshka как решение

Решение

Цитата Сообщение от zalupka Посмотреть сообщение
Немогу понять, почему если заменить $value = $value + $amount; вот этим $zalupka = $value + $amount;
все очень просто $zalupka локальная переменная (она создана внутри функции и не видна за ее пределами) и именно в нее сохраняется значение вычисленного выражения (дальше вы ничего не делаете с переменной $zalupka), а когда вы ставите $value = ... , то этому параметру значение присваивается по ссылке, т.е. в этом случае $value ссылается на тот же адрес оперативной памяти, что и переданная в качестве аргумента переменная при вызове функции
1
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 73
04.03.2015, 11:04  [ТС] 9
Justff , спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2015, 11:04
Помогаю со студенческими работами здесь

передача переменных
мне надо передать переменную $p допустим переменная $p=date(&quot;dmY&quot;); мне надо её передать я...

Передача переменных!
Передавать переменные с помощью форм мне понятно. А вот если возникла потребность передать...

Передача интерполяционных переменных
Здравствуйте! У меня в работе с php не такой большой опыт, поэтому решился посоветоваться с гуру....

Передача переменных (get/post/.)
Привет. В общем вот кусочек кода, имеется input text с именем &quot;name&quot; значение которого нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru