преобразовать значения из одного массива измерений в многомерный массив

У меня есть такой массив

["2018-10-01","2018-10-15","Night Shift","20:00:00","06:00:00"],
["2018-10-16","2018-10-31","regular work schedule","09:00:00","18:00:00"],
["2018-11-01","2018-11-08","Night Shift","20:00:00","06:00:00"]

Я хочу поставить обе даты в одном массиве.

[["2018-10-01","2018-10-15"],"Night Shift","20:00:00","06:00:00"],
[["2018-10-16","2018-10-31"],"regular work schedule","09:00:00","18:00:00"],
[["2018-11-01","2018-11-08"],"Night Shift","20:00:00","06:00:00"]

Я новичок в php и как это сделать в php

0

Решение

Вы можете перебирать массив и манипулировать первыми двумя элементами следующим образом:

$arr =  array( ["2018-10-01","2018-10-15","Night Shift","20:00:00","06:00:00"],["2018-10-16","2018-10-31","regular work schedule","09:00:00","18:00:00"],["2018-11-01","2018-11-08","Night Shift","20:00:00","06:00:00"]);

foreach($arr as &$elem) {
$a = array_shift($elem); // get the first date to var a and remove from elem
$elem[0] = array($a, $elem[0]); // insert to index 0 array with both dates
}

echo print_r($arr);

Это выведет:

Array (
[0] => Array
(
[0] => Array
(
[0] => 2018-10-01
[1] => 2018-10-15
)

[1] => Night Shift
[2] => 20:00:00
[3] => 06:00:00
)

[1] => Array
(
....
0

Другие решения

Чтобы включить массив в массив (многомерный массив), все, что вам нужно сделать, это указать его в объявлении.

$test = array(array("2018-10-01","2018-10-15"),"Night Shift","20:00:00","06:00:00")

Таким образом, чтобы получить доступ к переменным, например, получить первое или второе свидание, вы можете повторить:

echo $test[0][0]; //first date
echo $test[0][1]; //second date
echo $test[1]; //the words, "Night Shift"
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector