Задать вопрос
@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;
        }
  • Вопрос задан
  • 116 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
DevMan
@DevMan
зачем функцию для этого городить с циклом? есть же слайсы.

что касается самой функции, то где 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽