отличие array_splice от array_slice

200
30 января 2020, 12:40

Вот срабатывает как надо:

$a = [0,1,2,3,4];
echo array_sum(array_splice($a,2,3,true)) . "<br>";

А тут как надо срабатывает только первая:

$a = [0,1,2,3,4];
echo array_sum(array_splice($a,0,3,true)) . "<br>";
echo array_sum(array_splice($a,1,3,true)) . "<br>";
echo array_sum(array_splice($a,2,3,true)) . "<br>";
echo array_sum(array_splice($a,3,3,true)) . "<br>";
echo array_sum(array_splice($a,4,3,true)) . "<br><br>";

что я не понимаю, как оно работает?

Answer 1

Ответ прост, всё дело в одной букве:

Функция array_splice() — Удаляет часть массива и заменяет её чем-нибудь ещё

т.е splice работает как ctrl + x, если не указать чем заменяем вырезанное

Функция array_slice() — Выбирает срез массива

slice же в свою очередь работает как ctrl + c

Answer 2
<?php
$a = [0,1,2,3,4];
function ar($params) {
    return array_sum(array_splice($params[0],$params[1],$params[2],$params[3]));
}
echo ar([$a,0,3,true]).'<br>';
echo ar([$a,1,3,true]).'<br>';
echo ar([$a,2,3,true]).'<br>';
echo ar([$a,3,3,true]).'<br>';
echo ar([$a,4,3,true]).'<br>';

Результат

3
6
9
7
4

Если я правильно понял "вопрос"

READ ALSO
Работа с сессиями php

Работа с сессиями php

Есть список товаров в корхинеУ каждого товара есть счётчик количества

184
Экспорт БД на пк с помощью php скрипта

Экспорт БД на пк с помощью php скрипта

Необходимо сделать экспорт БД на пк, путем нажатия кнопки в личном кабинетеПробовал сделать так:

186
Проблема SQL добавление в базу данных

Проблема SQL добавление в базу данных

С помощью этого кода я пытаюсь создать запись на сайтеКогда я нажимаю на "создать запись" на сайте, то страница просто обновляется и ничего...

204
Переменная в коде php

Переменная в коде php

Подскажите пожалуйста, есть код в которой участвует переменная $_GET['id'] (выводится со временем)Если ее нет как отключить ее функционал для...

195