2017-01-27 1 views
0

У меня есть массив из файла JSON и несколько строк из моей базы данных. Использование array-search Я могу проверить, сохранены ли значения из моего массива $ all_results в моих базах данных столбец match_id.Сравните php-массив с sql-результатами и сделайте что-нибудь

Если значения найдены, я получаю ключ с моей $ show_key переменной успешно. Теперь, я бы хотел, чтобы сделал это, когда ключи найдены и сделайте это, если они не найдены, но я понятия не имею, как это сделать!

Я попытался is_int, который не работает и закончилась в больше, чем 0 раствора, который делает именно то, что я хочу, если не будет найдено значение которого ключ 0.

Помощь была бы потрясающей. Большое спасибо!

$json=file_get_contents('file.json'); 
$decode = json_decode($json,true); 
$results = $decode['data']; 

    foreach ($results as $key) 
    { 
     $all_results[]= $key['id']; 
    } 

     $pdo = new PDO('xxx'); 
     $sql = "SELECT * FROM results"; 

     foreach ($pdo->query($sql) as $row) 

     { 

      echo $show_key = array_search($row['match_id'], $all_matches).'<br/>'; 

      if (array_search($row['match_id'], $all_results) > 0) 
      { 
       // do this 
      } 
      else 
      { 
       // do that 
      } 

     } 
+0

почему вы не напечатать несколько ключ [ «ID»] и результаты из db и сравните его сами и увидите, что там, где идентификаторы совпадают или нет. – rahul

ответ

2

PHP: array_search

Возвращает ключ для иглы, если он находится в массиве, FALSE в противном случае.

Заменить Состояние-

if (array_search($row['match_id'], $all_results) > 0) 

с this-

if (array_search($row['match_id'], $all_results) !== FALSE) 

Это вернет ключ если ключ был найден и ложно, если оно не имеет.

Кроме того, эта линия wrong-

echo $show_key = array_search($row['match_id'], $all_matches).'<br/>'; 

Заменить его с этим, чтобы увидеть

ключей-
echo $show_key = array_search($row['match_id'], $all_results).'<br/>'; 
+1

Незначительная поправка, надеюсь, что вы не возражаете. – RiggsFolly

+0

@RiggsFolly спасибо! хотя я все равно его отредактировал. – xRahul

+0

Большое спасибо! Помогал. Работает. – vloryan

Смежные вопросы