這裏很簡單,但傷害了頭部。當數值確實存在時,數組中的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