2012-03-30 18 views
6

MongoDB ve PHP kullanıyorum ve oluşturulan bir diziyi temel alarak bir $ yapmaya çalışıyorum.

Aynı diziyi el ile belirttiğimde, çalışır, ancak oluşturduğumda, aynı verileri içeren sonuçları döndürür.

Elimde ne var: Ben

$ İmleç> bilgi()

kullanılarak kontrol ettik Ve dizideki öğeler aynı

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

.

Ne yaptığım hakkında bir fikrim var mı?

Teşekkürler!

cevap

4

Sayıların veri türlerinin aynı olmaması olasıdır. Oluşturulan dizideki var_dump() öğesini ve belirtilen diziyi kullanmayı deneyin. Muhtemelen birinin bir dizede sayı, diğeri ise basit tam sayı olarak göreceğini görürsünüz.

İlgili konular