У меня есть массив, содержащий список слов:Дисплей первой, если строка содержит 2 элемента моего массива - PHP,
myArray = array(first, time, sorry, table,...);
и JSON:
{
"products": {
"0": {
"title": "myTitle",
"url": "xxxxxx",
"id": "329102"
},
"1": {
"title": "myTitle",
"url": "",
"id": "439023",
},...
}
}
я делаю петлю, если заголовок содержит одно из слов myArray, я показываю его.
function strposArray($haystack, $needle, $offset=0) {
if(!is_array($needle)) $needle = array($needle);
foreach($needle as $query) {
if(stripos($haystack, $query, $offset) !== false) return true;
}
return false;
}
foreach ($parsed_json['products'] as $item) {
if (!empty($item['title'])) { $title = $item['title']; } else { $title = ''; }
if (strposArray($title, $myArray)) {
echo '<li>' .$title. '</li>';
}
}
У меня нет проблем с этим кодом, но я хотел бы улучшить результат.
Если заголовок содержит несколько элементов myArray, я хотел бы, чтобы он отображался в верхней части списка.
Первый -> несколько элементов
второй -> один элемент
Спасибо заранее
It's workiking. :-) Последний вопрос. Как мы можем показать каждый заголовок? Я предлагаю мне создавать петли? Как сделать с вложенными массивами – dibs
@ dibs Я обновил свой ответ. – Thomas
большое спасибо – dibs