我有一个来自JSON文件的数组和来自我的数据库的几行。使用array-search我可以检查 $ all_results 数组中的值是否存储在我的数据库 match_id列中。
如果找到值,我会成功获取带有 $ 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 :(得分:2)
如果在数组中找到针,则返回针的键,否则返回FALSE。
替换你的病情 -
if (array_search($row['match_id'], $all_results) > 0 )
用这个 -
if (array_search($row['match_id'], $all_results) !== FALSE )
如果找到密钥,将返回密钥,如果没有,则返回false。
此外,这条线错了 -
echo $show_key = array_search($row['match_id'], $all_matches).'<br/>';
用它替换它以查看按键 -
echo $show_key = array_search($row['match_id'], $all_results).'<br/>';