Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
redingo
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 30
1

Функция отказывается работать

23.06.2016, 18:29. Просмотров 183. Ответов 10
Метки нет (Все метки)

Добрый день. Решил уменьшить свой код, чтобы не было повторов лишних и столкнулся с проблемой. Проинтерпретировал её так:
PHP
1
2
3
4
5
6
7
8
function test($summm){
    $summm += 1;
}
$sum2 = 0;
for($i =0;$i<3;$i++){
    test($sum2);
}
echo $sum2;
На моё удивление результат 0,хотя я ожидал 3.
Может я что-то упустил, может кто сталкивался, заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2016, 18:29
Ответы с готовыми решениями:

Код отказывается работать
Всем привет. Прошу помочь с одним делом. У меня не работает две функции в...

Перестала работать функция
К скрипту прикрутил функцию обрезки изображений, что характерно функция...

Будет ли работать функция
Здравствуйте. Нужен совет опытного человека. Сделал проверку входа на сайт...

Функция mail() перестала работать
всем привет. проблема произошла на одном хостинг сервере. Сначало работал код...

Сменил кодировку перестала работать самодельная функция
Сменил кодировку всех php скриптов и прочих файлов с ansi на utf-8, перестала...

10
Custos
189 / 174 / 30
Регистрация: 23.09.2014
Сообщений: 632
23.06.2016, 18:31 2
Для инкремента целая функция? Вы упоролись?
P. S. Этот код и не должен работать.
0
redingo
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 30
23.06.2016, 18:34  [ТС] 3
Custos, просто раньше только в ПАВН писал, как исправить, можно ли подробнее, пожалуйста, про инкремент и целую функцию или линк, где почитать.
0
diplodox
20 / 20 / 10
Регистрация: 07.10.2013
Сообщений: 77
23.06.2016, 18:35 4
redingo, $summm++ в цикл засуньте

Ссылка
0
redingo
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 30
23.06.2016, 18:46  [ТС] 5
diplodox, для чего мне summ++ в цикл то засунуть, если это только интерпретация моего кода, и неиспользование функции приведёт к дублированию кода, если я вас правильно понял.
0
diplodox
20 / 20 / 10
Регистрация: 07.10.2013
Сообщений: 77
23.06.2016, 18:51 6
redingo,
Прошу прощения, не то скопировал. Не $summm++, а $sum2++
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
23.06.2016, 18:51 7
ну нужно человеку понять свою ошибку чего сразу на него налетели)))
PHP
1
2
3
4
5
6
7
8
9
function test($summm){
    $summm += 1;
    return $summm;
}
$sum2 = 0;
for($i =0;$i<3;$i++){
    $sum2=test($sum2);
}
echo $sum2;
0
Custos
189 / 174 / 30
Регистрация: 23.09.2014
Сообщений: 632
23.06.2016, 18:57 8
Цитата Сообщение от tgarl Посмотреть сообщение
function test($summm){
* * $summm += 1;
* * return $summm;
}
Уж лучше тогда уже:

PHP
1
2
3
4
function test($summm)
{
    return ++$summm;
}
Добавлено через 2 минуты
Или, вообще так:
PHP
1
2
3
4
5
6
7
8
9
function test(&$summm)
{
    $summm++;
}
$sum2 = 0;
for ($i =0; $i<3; $i++) {
    test($sum2);
}
echo $sum2;
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
23.06.2016, 19:06 9
можно и так, только задача мне кажется немного другая у человека, а то что тут привел просто для примера накидал(по себе сужу), так как не может понять что не так делает, поэтому я указал самый простой вариант для понимания ошибки
0
redingo
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 30
23.06.2016, 19:20  [ТС] 10
Большое спасибо tgarl, Custos, diplodox. Интересует,что это
PHP
1
function test(&$summm)
Знак & перед параметром. Где можно прочитать про это или прост название, чтобы загуглить)
0
Custos
189 / 174 / 30
Регистрация: 23.09.2014
Сообщений: 632
23.06.2016, 19:21 11
redingo, это передача по ссылке.
http://php.net/manual/ru/language.references.pass.php
0
23.06.2016, 19:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2016, 19:21

Функция rename в связке с foreach не хочет правильно работать
У меня есть директория, там есть файлы такого форматирования...

Мой код отказывается работать
почему то не получается и всё:cry:сижу мучаюсь, можете объяснить в чем ошибка?...

Файл отказывается работать в utf-8
Бред какой то &lt;?php class findAd{ function translite($r_txt){ ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru