我从api中提取数据,因此我有一个循环将一些ID存储到数组中。
我需要做的是从我的数据库中选择所有ID,然后从初始数组中删除在数据库中找到的所有ID。所以我可以继续查询我目前没有的ID的api。
为了更有意义,请看下面的内容:
$matches = $database->get_results('SELECT match_id FROM `matches` WHERE `order_id`='.$order_id);
if ($matchlist->totalGames !== 0) {
foreach ($matchlist as $key) {
$gameIds[] = $key->matchId;
}
}
我需要从$ gameIds中删除id,如果它们已存储在$ matches中。
有什么想法吗? 感谢
我试过了:
$matches = $database->get_results('SELECT `match_id` FROM `matches` WHERE `order_id`='.$order_id);
if ($matchlist->totalGames !== 0) {
foreach ($matchlist as $key) {
$gameIds[] = $key->matchId;
}
$arr_matches = object2array($matches);
$new_array = array_diff($arr_matches, $gameIds);
var_dump($new_array);
}
错误:
Catchable fatal error: Object of class stdClass could not be converted to string
答案 0 :(得分:1)
第1步:将对象更改为数组
function object2array($object)
{
if (is_object($object)):
foreach ($object as $key => $value):
$array[$key] = $value;
endforeach;
else:
$array = $object;
endif;
return $array;
}
第2步:
$arr_matches = object2array($matches)
$new_array = array_diff($arr_matches , $gameIds);
// Will remove all elements contained in $gameIds from $arr_matches array.