@fuckingawesomenigga

Как выбрать нужный элемент из массива?

Есть массив items.php:

<?PHP
return array(
	array(
		'number'	=> '10',
		'sysname'	=> 'name1',
		'url' 		=> '/',
		'title'		=> 'Title 1',
		'promo'		=> 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'),
	array(
		'number'	=> '20',
		'sysname'	=> 'name2',
		'url' 		=> '/',
		'title' 	=> 'Title 2',
		'promo' 	=> 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'),
);


Есть файл article.php, который через гет, должен найти нужный элемент

$items = include 'items.php';

echo (isset($_GET["brand"])) ? $_GET["brand"] : "";

$item = array(
	'' => '',
);


Как в item, поместить нужный элемент, по параметру 'sysname', ? Например /article.php?brand=name2
  • Вопрос задан
  • 119 просмотров
Решения вопроса 2
@rockstardavid
Go/PHP
$foundItem = null;
foreach ($items as $item) {
	if ($item['sysname'] == $_GET['brand']) {
		$foundItem = $item;
		break;
	}
}

if (!is_null($foundItem)) {
	// нашли
} else {
	// не нашли
}
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
Разумеется, не сохранять такой ужас в items.php, а делать нормальный массив
return [
  'name1' =>[
    'number'	=> '10',
    'sysname'	=> 'name1',
    'url' 		=> '/',
    'title'		=> 'Title 1',
    'promo'		=> 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'],
  'name2' =>[
    'number'	=> '20',
    'sysname'	=> 'name2',
    'url' 		=> '/',
    'title' 	=> 'Title 2',
    'promo' 	=> 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'],
];

И потом просто

$brand = $_GET['brand'] ?? null;
$element = $items[$brand] ?? null;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы