MongoDB PHP使用带数组的$ in

dzm*_*dzm 7 php mongodb mongodb-php

我正在使用MongoDB和PHP,并尝试根据生成的数组执行$ in.

当我手动指定相同的数组时,它可以工作,但是当我构建它时,它会返回具有相同数据的任何结果.

我有我的东西:

$settings = array();
foreach($items as $item) {
   $settings[] = $item['id'];
}

//Settings is the same as this
$setting2 = array(1,2,3,4,5,6,7,8);

//This returns no results
$cursor = $collection->find(array('status' => 0, 'sid' => array('$in' => $settings)));


//This does return results
$cursor = $collection->find(array('status' => 0, 'sid' => array('$in' => $setting2)));
Run Code Online (Sandbox Code Playgroud)

我已经查过了

$ CURSOR->信息()

并且数组中的项目是相同的.

我有什么想法我做错了吗?

谢谢!

Der*_*ick 4

数字的数据类型很可能不相同。尝试在构建的数组和指定的数组上使用 var_dump()。您可能会看到一个将它们作为字符串中的数字,而另一个将它们作为简单的整数。