最近在用ThinkPHP開發(fā)一個京東服務(wù)市場的應(yīng)用,然而京東服務(wù)市場接口返回的數(shù)據(jù)是個對象數(shù)組。然而需要一個個屬性取出來放到數(shù)組里面然后再利用ThinkPHP的addAll或者add方法寫入數(shù)據(jù)庫。然而每次返回的字段有幾十個,每次這么拼接都要崩潰了。果然還是那句話,當(dāng)你感到無法忍受的時候你就會想辦法改變。于是想了下,如果有個函數(shù)傳個對象數(shù)組進(jìn)去可以自動轉(zhuǎn)成普通數(shù)組就好了。因而萬能的互聯(lián)網(wǎng)搜索又來了。百度了一通。。。果然有前輩已經(jīng)處理過了,在此記錄一下。
代碼如下:
/**
* [std_class_object_to_array 將對象轉(zhuǎn)成數(shù)組]
* @param [stdclass] $stdclassobject [對象]
* @return [array] [數(shù)組]
*/
function std_class_object_to_array($stdclassobject)
{
$_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : $stdclassobject;
foreach ($_array as $key => $value) {
$value = (is_array($value) || is_object($value)) ? std_class_object_to_array($value) : $value;
$array[$key] = $value;
}
return $array;
}
就這樣,對象數(shù)組就優(yōu)雅地轉(zhuǎn)成了普通的數(shù)組。動動腦子,代碼量下來了,功能也優(yōu)雅地就實現(xiàn)了。一舉兩得,何樂而不為呢?
新聞熱點(diǎn)
疑難解答
圖片精選