да, так как вы делаете цикл в цикле.
Лучше всего проверить в массиве:
$categories = array("google","adobe","microsoft","exoot","yahoo");
$sql='google,exoot,adobe';//from mysql_query
$categs = explode(",",$sql);
$str = array();
foreach($categs as $id => $categs_check)
{
if(in_array($categs_check, $categories))
{
//its better to put it into a array and explode it on a later point if you need it with comma.
$str[] = $id;
}
}
Я не совсем уверен, что вы пытаетесь сделатьно это должно быть что-то вроде выше