我在使用echo打印2d数组内的值时遇到问题,使用print_r:可以很好地工作
print_r($array);
其结果是:
Array ( [0] => MongoId Object
( [$id] => 57a789b7ce2350b40e000029 ) [1] => MongoId Object
( [$id] => 57a72d35ce2350681200002b ) [2] => 3 )
然而,当我尝试使用访问值时
echo $similar[0][1];
//or
echo $similar[0][0];
我得到错误:"无法将MongoId类型的对象用作数组">
我还尝试了不同类型的循环,以防错误是通过访问特定于元素号的值触发的,但我得到了相同的错误,我不确定为什么。如有任何帮助,我们将不胜感激:(
由于$similar[0]
是MongoId对象,并且想要访问其$id
,因此必须使用$similar[0]->{'$id'})
在您的示例中,元素0和1是MongoId对象,而元素2是3的整数。
这就是你打印所有的方法
echo $similar[0]->{'$id'}) # gives 57a789b7ce2350b40e000029
echo $similar[1]->{'$id'}) # gives 57a72d35ce2350681200002b
echo $similar[2] # gives 3