Метод divide
Метод divide класса Arr разделяет ассоциативный массив на два отдельных массива: первый содержит ключи исходного массива, второй - значения. Метод принимает один параметр - массив для разделения, и возвращает массив из двух элементов, где первым элементом является массив ключей, а вторым - массив значений.
Синтаксис
<?php
use Illuminate\Support\Arr;
$res = Arr::divide($array);
?>
Пример
Давайте разделим ассоциативный массив с данными пользователя:
<?php
use Illuminate\Support\Arr;
$user = [
'name' => 'John',
'age' => 30,
'email' => 'john@example.com'
];
$res = Arr::divide($user);
print_r($res[0]); // keys
print_r($res[1]); // values
?>
Результат выполнения кода:
["name", "age", "email"]
["John", 30, "john@example.com"]
Пример
Метод также работает с обычными индексированными массивами:
<?php
use Illuminate\Support\Arr;
$items = ['a', 'b', 'c', 'd', 'e'];
$res = Arr::divide($items);
echo "Keys: ";
print_r($res[0]);
echo "Values: ";
print_r($res[1]);
?>
Результат выполнения кода:
"Keys: [0, 1, 2, 3, 4]"
"Values: ['a', 'b', 'c', 'd', 'e']"
Пример
Разделим массив с числовыми ключами и строковыми значениями:
<?php
use Illuminate\Support\Arr;
$data = [
10 => 'ten',
20 => 'twenty',
30 => 'thirty'
];
[$keys, $values] = Arr::divide($data);
print_r($keys);
print_r($values);
?>
Результат выполнения кода:
[10, 20, 30]
["ten", "twenty", "thirty"]