powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Возврат одномерного массива из функции
16 сообщений из 16, страница 1 из 1
Возврат одномерного массива из функции
    #38601104
Фотография Антон Щёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.
Мне нужно вернуть из функции массив, но я что-то делаю не так и в итоге массив не только не возвращается, а при более детальном рассмотрении полностью уничтожается. Собственно, вот код:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
$num = array(4, 5.387, 0.005, 2.76, 0.92, 4.21, 789);

echo "Текущий массив чисел: ".'<br/>';
var_dump($num);

function percent($z, $n){
	
$chng = $num;

	for ($i=0, $cnt = count($chng); $i<$cnt; $i++){
		
		if (is_float($chng[$i])) {
			if ($chng[$i] > 1.0){
				$chng[$i] = $chng[$i] * $z;
			}else{
				$chng[$i] = $chng[$i] * $n;
			}
		}
	}
	
	return $chng;
}



На входе функция percent принимает два параметра, которые пользователь вводит в форму. Оба параметра - это десятичные числа. Результат вызова этой функции помещается в ячейку 'res' массива $_SESSION и выводится пользователю. Подскажите, пожалуйста, что я делаю не так. Заранее благодарен.
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601126
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$chng = $num;
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601131
Фотография Антон Щёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow$chng = $num;

Ошибка в копировании одного массива в другой?
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601133
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон ЩёлкинScareCrow$chng = $num;

Ошибка в копировании одного массива в другой?

ага.
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601134
Фотография Антон Щёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда как мне корректно скопировать значения одного массива в другой?
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601148
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function percent($z, $n){

	for ($i=0, $cnt = count($num); $i<$cnt; $i++){
		
		if (is_float($num[$i])) {
			if ($num[$i] > 1.0){
				$chng[$i] = $num[$i] * $z;
			}else{
				$chng[$i] = $num[$i] * $n;
			}
		}
	}
	
	return $chng;
}
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601152
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
if (is_float($num[$i])) {
...
}
else {
$chng[$i] = $num[$i];
}


чтобы ничего не потерялось
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601163
Фотография Антон Щёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function percent($z, $n){

	for ($i=0, $cnt = count($num); $i<$cnt; $i++){
		
		if (is_float($num[$i])) {
			if ($num[$i] > 1.0){
				$chng[$i] = $num[$i] * $z;
			}else{
				$chng[$i] = $num[$i] * $n;
			}
		}
	}
	
	return $chng;
}



SharuPoNemnogu
Код: php
1.
2.
3.
4.
5.
6.
if (is_float($num[$i])) {
...
}
else {
$chng[$i] = $num[$i];
}


чтобы ничего не потерялось

Спасибо большое за помощь! Буду исправлять.
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601176
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function percent($z, $n){

	for ($i=0, $cnt = count($num); $i<$cnt; $i++){
		
		if (is_float($num[$i])) {
			if ($num[$i] > 1.0){
				$chng[$i] = $num[$i] * $z;
			}else{
				$chng[$i] = $num[$i] * $n;
			}
		}
	}
	
	return $chng;
}



и чё, правда работает?
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601203
Фотография Антон Щёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowи чё, правда работает?

Неа, также не работает..
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601212
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Щёлкин,

global $num?
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601217
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или
Код: php
1.
function percent($z, $n, $num)
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601218
Фотография Антон Щёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterАнтон Щёлкин,

global $num?

Не помогло.
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601221
Фотография Антон Щёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnoguили
Код: php
1.
function percent($z, $n, $num)



Не совсем понимаю как тогда вызывать функцию
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601225
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Щёлкин,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
$num = array(4, 5.387, 0.005, 2.76, 0.92, 4.21, 789);
echo "Текущий массив чисел: ".'<br/>';
var_dump($num);

function percent($z, $n, $num){

    for ($i=0, $cnt = count($num); $i<$cnt; $i++){

        if (is_float($num[$i])) {
            if ($num[$i] > 1.0){
                $chng[$i] = $num[$i] * $z;
            }else{
                $chng[$i] = $num[$i] * $n;
            }
        }
        else {
            $chng[$i] = $num[$i];
        }
    }

    return $chng;
}

var_dump(percent(100, 200, $num));
...
Рейтинг: 0 / 0
Возврат одномерного массива из функции
    #38601228
Фотография Антон Щёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnoguАнтон Щёлкин,

Код: php
1.
var_dump(percent(100, 200, $num));



Тоже так подумал, но не успел реализовать, Вы меня опередили. Теперь все работает, спасибо.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Возврат одномерного массива из функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]