Как проверить наличие числа в сериализованном массиве в PHP?
Подскажите, как в php происходит проверка есть ли указанное число в массиве, вот на таком простом примере 
<?php
$n = "a:2:{i:0;i:1;i:1;i:5;}"; /// gettype() показывает string
$current_user_id = 5; /// integer
array_key_exists($current_user_id, $n) ? $class_btn_n = 'btn_active' : $class_btn_n = '';
echo '<button class="'. $class_btn_n . '">Button</button>';
Не могу понять, почему не отрабатывает array_key_exists? Пробовал приводить к одинаковым типам и через in_array, но не сработало…
Ответы (1 шт):
Автор решения: Владимир Клыков
→ Ссылка
<?php
$n = "a:2:{i:0;i:1;i:1;i:5;}";
$n = unserialize($n);
$current_user_id = 5;
$class_btn_n = in_array($current_user_id, $n) ? 'btn_active' : '';
echo '<button class="'. $class_btn_n . '">Button</button>';