2012-03-30 18 views
6

Estoy usando MongoDB y PHP y estoy tratando de hacer un $ en función de una matriz generada.

Cuando especifico la misma matriz manualmente, funciona, pero cuando la construyo, devuelve los resultados con los mismos datos.

No es lo que tengo:

$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))); 

He comprobado usando

$ Cursor-> Información()

Y los elementos de la matriz son los mismos.

¿Alguna idea de lo que estoy haciendo mal?

Gracias!

Respuesta

4

Es probable que los tipos de datos de los números no sean los mismos. Intente usar var_dump() en la matriz construida y la matriz especificada. Probablemente verás que uno los tiene como números en una cadena, y el otro como enteros simples.