Я пытаюсь сравнить возвращение JSON с установленным ARRAY.
JSON показывает ОК, значение равно $ a.
Массив закодирован и показывает ОК, он установлен как $ b.
Я бы хотел, чтобы вывод был в процентах, не включая дубликаты.
ЭТО СЕЙЧАС ИЗМЕНЕНО.
<?php
$loggedUser = auth()->user()->id ; // returns authenticated user id.
$pdo = new PDO('mysql:host=****;dbname=****', '****', '****');
$stmt = $pdo->prepare('SELECT movie_id FROM user_watch_lists WHERE user_id = :user');
$stmt->execute(array('user' => $loggedUser));
$result_array = $stmt->fetchAll(PDO::FETCH_ASSOC);
$a = $result_array;
$b = array(297761);
print_r($a);
print_r($b);
$c = 0;
foreach ($a as $k=>$v) {
if ($v == $b[$k]) $c++;
}
echo ($c/count($a))*100;
?>
Содержимое возврата выше (echo $ a; $ echo b; и echo ($ c / count ($ a)) * 100;):
Array ( [0] => Array ( [movie_id] => 297761 ) )
Array ( [0] => 297761 )
0
Это должно вернуть 100%. Я понимаю почему, но не знаю, как это исправить.
Я попытался изменить цикл, чтобы войти в массив, но получил ОШИБКУ.
foreach ($a as $r=>$k=>$v) {
if ($v == $b[$k]) $c++;
}
echo ($c/count($a))*100;