2016-08-08 12 views
0

Im ein Problem der Werte innerhalb eines 2D-Arrays Echo mit Ausdrucken mit, es funktioniert prefectly print_r mit:Kann nicht Objekt des Typs MongoId als Array verwenden

print_r($array); 

Das Ergebnis davon ist:

Array ([0] => MongoId Object 
([$id] => 57a789b7ce2350b40e000029) [1] => MongoId Object 
([$id] => 57a72d35ce2350681200002b) [2] => 3) 

aber wenn ich versuche, die Werte für den Zugriff mit:

echo $similar[0][1]; 
//or 
echo $similar[0][0]; 

erhalte ich die Fehlermeldung: ‚Kann nicht Objekt vom Typ MongoId als arr verwenden ay '

Ich habe auch verschiedene Arten von Schleifen aus here probiert, wenn der Fehler ausgelöst wurde durch den Zugriff auf die Werte speziell durch Elementnummer, jedoch habe ich den gleichen Fehler und ich bin mir nicht sicher warum. Jede mögliche Hilfe würde geschätzt :)

+1

Auch drucken diese nicht funktioniert? echo $ array [0] ['_ id']; echo $ array [1] ['_ id']; –

+0

Ok nein tatsächlich ein Fehler gemacht ja ich bekomme immer noch den Fehler für ein 'Echo $ ähnlich [0] [' _ id '];' , für den zweiten $ ähnlich ['_ id'] [1]; nichts wird gedruckt, aber auch kein Fehler .... was ist besser, aber immer noch unsicher warum – D3181

Antwort

1

Da $similar[0] ist ein MongoId Objekt und möchte seine zugreifen $id dann müssen Sie $similar[0]->{'$id'})

in Ihrem Beispiel Elemente 0 und 1 sind MongoId Objekte verwenden, während das Element 2 eine ganze Zahl So von 3.

das ist, wie man sie alle

echo $similar[0]->{'$id'}) # gives 57a789b7ce2350b40e000029 
echo $similar[1]->{'$id'}) # gives 57a72d35ce2350681200002b 
echo $similar[2] # gives 3 
+0

perfekt! Danke für den Tipp! – D3181

Verwandte Themen