这里很简单,但伤害了头部。当数值确实存在时,数组中的php返回false
echo in_array('275', $searchMe);
返回false。但是,如果我打印数组,然后使用我的Web浏览器手动搜索,我可以看到数组中存在该值。
[0] => ExtrasInfoType Object
(
[Criteria] =>
[Code] => 275
[Type] => 15
[Name] => Pen
)
额外信息。该阵列已被从一个对象转换为阵列使用
$searchMe = (array) $object;
是否因为值没有被引用?我已经尝试使用与in_array
功能如下:$ searchMe的
echo in_array('275', $searchMe); // returns false
echo in_array(275, $searchMe); // returns error (Notice: Object of class Extras could not be converted to int in)
的var_dump
array
'Extras' =>
object(Extras)[6]
public 'Extra' =>
array
0 =>
object(ExtrasInfoType)[7]
...
1 =>
object(ExtrasInfoType)[17]
...
2 =>
object(ExtrasInfoType)[27]
...
转储阵列转换后,它是否保留对象的属性关联键,还是它转换属性到数字索引?如果它工作的话。 – Orbling 2011-03-17 01:11:43
请注意,错误表明'$ searchMe'仍然是一个对象。 – Orbling 2011-03-17 01:13:26
好的。所以in_array不会在对象上工作? – goingsideways 2011-03-17 01:14:25