Работа с определённой частью массива

Есть массив с подмассивами в отдельном php-файле:

array (

$subarray1 = array (
   name=>aaa
   pic=>aaa
)

$subarray2 = array (
   name=>bbb
   pic=>bbb
)

)

Он парсится через include в отдельной php-странице
Я хочу сделать генерацию страницы, где при запросе из адресной строки, брался определённый подмассив, и php работал только с ним. То есть, если в адресную строку вводится

site/page.php?arrayname=subarray2

То в подставленные [name] и [pic] должны выводиться bbb
Как это можно реализовать?


Ответы (1 шт):

Автор решения: teran

массив в отдельном файле inc.php

<?php
return [
   'key1' => [
       'name' => '...',
       'pic' => '....',
   ],
   'key2' => [
       ...  
   ],
];

Вызывающий файл index.php

<?php
$data = include 'inc.php';

$key = $_GET['key'] ?? 'default';
$value = $data[$key] ?? current($data);
print_r($value); 

При вызове index.php?key=key1 в $value получим искомый массив. Если параметр key не передан, то можем назначить какой-то ключ по умолчанию, в данном случае default. Если переданный ключ отсутствует в подключаемом массиве, то можем взять первый, или отдать 404, ошибку.

→ Ссылка