Bu daha mantıklı evet.
$login = array(
'id' => 1,
'displayname' => 'QuarkChain',
'display_category' => explode(',', '1,3,5'),
'last_at' => time()
);
$categories = array(
array('id' => 1, 'title' => 'Google Adsense'),
array('id' => 2, 'title' => 'Google Optimazsyon'),
array('id' => 3, 'title' => 'Google Adwors'),
array('id' => 4, 'title' => 'eCommerce Yazılımları'),
array('id' => 5, 'title' => 'Instagram')
);
foreach ($categories as $category) {
// Kullanıcı sadece yetkili olduklarını görür
if ( ! in_array($category['id'], $login['display_category'])) continue;
echo $category['title'] . '<br />';
}
// Örneğin detay sayfası
// $query.. yapıldı
// Şu koşul kullanıcıyı kategoriden uzaklaştırabilir.
(in_array($category['id'], $login['display_category']) OR redirect('izin_yok.php'));
Kategoriye user tanimlamak yerine usere kategori gorme yetkisi vermeniz daha saglikli olur. Ama bu sekilde de soyle yapabilirsiniz. Virgul ile ayiriyorsaniz dizin haline getirip dizin icinde o idyi arayabilirsiniz. Veya explode ile her virgulu ayirip donguye alip donguyu dizin yapip orda arayabilirsiniz.