Seems OK to me?
Let me know the results:
<?php
$haystack = array
(
"Nike" => "sports, clothing",
"Ford" => "cars, outdoors",
"Patagonia" => "clothing, outdoors"
);
$haystack = array
(
"Nike" => "tv, soap opera",
"Ford" => "cars, tv shows",
"Patagonia" => "clothing, outdoors, opera"
);
$search = 'tv';
$search = 'opera';
$search = 'clothing';
$search = $_GET['search'] ?? 'clothing';
$result = array();
foreach( $haystack as $id => $item ):
if( FALSE===strpos( $item, $search ) ):
//
else:
$result[] = $item;
endif;
endforeach;
$tmp = <<< ____TMP
<a href="?search=clothing"> clothing </a>
<a href="?search=opera"> opera </a>$title => NO title???
$value =>
clothing
opera
tv
$title => $haystack
$value => Array
(
[Nike] => tv, soap opera
[Ford] => cars, tv shows
[Patagonia] => clothing, outdoors, opera
)
$title => Search for: opera
$value => Array
(
[0] => tv, soap opera
[1] => clothing, outdoors, opera
)
<a href="?search=tv"> tv </a>
____TMP;
fred($tmp);
fred($haystack, '$haystack');
fred($result, 'Search for: ' .$search);
# echo array_search("clothing", $a); // should output Nike and Patagonia
//=======================================
function fred($value='yes we have no $val', $title='NO title???')
{
$style = 'width:88%; margin:2em auto;' $title => NO title???
$value =>
clothing
opera
tv
$title => $haystack
$value => Array
(
[Nike] => tv, soap opera
[Ford] => cars, tv shows
[Patagonia] => clothing, outdoors, opera
)
$title => Search for: opera
$value => Array
(
[0] => tv, soap opera
[1] => clothing, outdoors, opera
)
. 'border:solid 1px #aaa; padding: 0.42em;'
;
echo '<pre style="' .$style .'">';
echo '$title => ' .$title;
echo '<br>';
echo '$value => '; // .gettype($val);
print_r($value);
echo '</pre>';
}
**Output:**
>
$title => NO title???
$value =>
> clothing
>
> opera
>
> tv
>
$title => $haystack
$value => Array
(
[Nike] => tv, soap opera
[Ford] => cars, tv shows
[Patagonia] => clothing, outdoors, opera
)
>
>
$title => Search for: opera
$value => Array
(
[0] => tv, soap opera
[1] => clothing, outdoors, opera
)