Как сравнить JSON с ARRAY в PHP - PullRequest
1 голос
/ 08 июля 2019

Я пытаюсь сравнить возвращение 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;
...