@MrRadio_Spy

Почему не работает эта элементарная функция?

Простая функция, чтобы из массива получать девять позиций от указанной начальной позиции ($positon)
Подскажите пожалуйста, где здесь ошибка?

function From_main_table ($positon,$arr_place,$from_arr){
				
				$arr_place = array ();
				
					for	($i=$positon; $i<=($positon+9); $i++){
						array_push($arr_place ,$from_arr[$i]);
					}
				
				}


Решение:
function From_main_table ($positon,$from_arr){
        
        $arr_place = array_slice ($from_arr, $positon, 10);
        
        return $arr_place;
        }
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
DevMan
@DevMan Куратор тега PHP
зачем функцию для этого городить с циклом? есть же слайсы.

что касается самой функции, то где return?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
anton_reut
@anton_reut
Начинающий веб-разработчик
Вот так работает:
<?php


function From_main_table ($positon,$from_arr){
        
        $arr_place = [];
        
          for	($i=$positon; $i<=($positon+2); $i++){
            array_push($arr_place ,$from_arr[$i]);
          }
          
          return $arr_place;
        
        }

$from = array("1", "2", "3", "4", "5");
$positon = 1;

print_r(From_main_table($positon,$from));
Ответ написан
Gomonov
@Gomonov
Да и ваша функция работала бы, если предать array_place по ссылке, либо делать return
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы