Re: [請益] php 在array裡找值

作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-06-03 17:10:36
※ 引述《wild0921 (我要幸福)》之銘言:
: 我解釋一下推文的大大PO的意思,
: PHP的in_array 只適用於單維, 原PO要找的元素在第二層的array裡面,
: 所以in_array會跟你說他找不到 >> 正常
: 網路上有很多人寫了不少替代的funciton補強這一點,
你也沒有弄清楚這裡面在搞什麼,這不是多維陣列
他是(1)一個物件
(2)這個物件有一個property,是一個陣列
(3)這個陣列裡面又有若干個物件
(4)這些物件又各自有property
(5)這些property中,可能有一個或一些的值是"namevalue"
你給的stackoverflow的連結是找簡單多維陣列用的。
php的物件不是很嚴謹,但是他也沒有輕鬆到像javascript一樣,
可以直接用 for(var i in a) 就可以跟assoc array互通。
不信你可以試試看。
作者: jacobcan118 (jacobcan118)   2014-06-04 10:21:00
感謝.所以要用兩個foreach 取name的值用if去判斷嗎
作者: noxhsu (通りすがりの食いしん坊)   2014-06-04 13:49:00
用遞迴去解,因為下個leaf不確定是否為陣列
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-06-04 17:59:00
php有函數可以取出物件所有property的名稱成一個陣列從這一點開始,搭配is_array(), is_object()針對你的狀況(兩層)寫一個特解 不用費力想通用函數怎麼寫 多碰幾次再來想也不遲

Links booklink

Contact Us: admin [ a t ] ucptt.com