Работа с определённой частью массива
Есть массив с подмассивами в отдельном 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 шт):
массив в отдельном файле 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, ошибку.