$count = count($roles); // For loopunda count size of çalıştırılmaz. 100 satırlık array için 100 defa aynı fonksiyonu çağırırsın.
$in = [];
for($i = 0; $i < $count ; $i++) {
array_push($in,$roles[$i]); // Concat yani $hede." ".$hodo işleri array yapıp toplamaktan pahalıya gelir.
}
$out = [];
$result = $db->query("SELECT * FROM userroles WHERE id IN (".implode(',',$in).")")->fetch(PDO::FETCH_ASSOC); // Sql sogularını minimize etmek istiyoruz. loop içinde sql çağrısı yapılmaz. 100 tane eleman olsa çökerttin sunucuyu.
foreach($result as $res) {
array_push($out,$res["view"]);
}
return implode(" ",$out);
fetch ten sonra objemi dönüyor arraymı hatırlayamadım. Onun için test et. Olmaz ise çıkan hata mesajları ni forma yaz bakalım