我有一个包含单词列表的数组:
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 的多个元素,我希望它出现在列表的顶部。
第一个 -> 多个元素
第二个 -> 一个元素
先感谢您