Я хочу проанализировать основной массив, используя другой массив, содержащий ключи. Например, у меня есть следующий основной массив:
$test_array = [
'something' => 'Ceva',
'products' => [
'item' => [
[
'id' => '1',
'images' => [
[
'image' => 'image1.jpg'
],
[
'image' => 'image2.jpg'
]
]
],
[
'id' => '1',
'images' => [
[
'image' => 'image12.jpg'
],
[
'image' => 'image22.jpg'
]
]
],
],
]
]
И это второй массив, который содержит ключи:
$settings = [
'products_path' => 'products,item',
'images_path' => 'products,item',
];
Мне нужен способ получить указанный c путь из массива с помощью массива настроек
example_function($test_array, $settings['products_path']);
должен вернуть:
[
'id' => '1',
'images' => [
[
'image' => 'image1.jpg'
],
[
'image' => 'image2.jpg'
]
]
],
[
'id' => '1',
'images' => [
[
'image' => 'image12.jpg'
],
[
'image' => 'image22.jpg'
]
]
],
ОБНОВЛЕНИЕ
Я сделал это с помощью этой функции:
public function getPath($array, $columns, $return = []) {
if(!empty($columns)) {
foreach ($columns as $column_key => $column) {
if(isset($array[$column])) {
unset($columns[$column_key]);
$return = $this->getPath($array[$column], $columns);
}
}
} else {
$return = $array;
}
return $return;
}