PHP中把stdClass Object轉(zhuǎn)array的幾個(gè)方法
更新時(shí)間:2014年05月08日 09:12:14 作者:
PHP和JS通訊通常都用json,但用 json 傳過(guò)來(lái)的數(shù)組并不是標(biāo)準(zhǔn)的array,而是 stdClass 類型。那么我們可以參考下面的幾個(gè)方法進(jìn)行轉(zhuǎn)換。
方法一:
復(fù)制代碼 代碼如下:
//PHP stdClass Object轉(zhuǎn)array
function object_array($array) {
if(is_object($array)) {
$array = (array)$array;
} if(is_array($array)) {
foreach($array as $key=>$value) {
$array[$key] = object_array($value);
}
}
return $array;
}
方法二:
復(fù)制代碼 代碼如下:
$array = json_decode(json_encode(simplexml_load_string($xmlString)),TRUE);
方法三:
復(fù)制代碼 代碼如下:
function object2array_pre(&$object) {
if (is_object($object)) {
$arr = (array)($object);
} else {
$arr = &$object;
}
if (is_array($arr)) {
foreach($arr as $varName => $varValue){
$arr[$varName] = $this->object2array($varValue);
}
}
return $arr;
}
如果是10W的數(shù)據(jù)量的話,執(zhí)行要進(jìn)1s,結(jié)構(gòu)再?gòu)?fù)雜些,可以達(dá)到3s, 性能太差了
可以用以下替換:
復(fù)制代碼 代碼如下:
function object2array(&$object) {
$object = json_decode( json_encode( $object),true);
return $object;
}
$object = json_decode( json_encode( $object),true);
return $object;
}
但是對(duì)json的特性,只能是針對(duì)utf8的,否則得先轉(zhuǎn)碼下。
您可能感興趣的文章:
- php通過(guò)array_shift()函數(shù)移除數(shù)組第一個(gè)元素的方法
- php數(shù)組函數(shù)序列之a(chǎn)rray_unique() - 去除數(shù)組中重復(fù)的元素值
- PHP中unset,array_splice刪除數(shù)組中元素的區(qū)別
- php數(shù)組函數(shù)序列之a(chǎn)rray_keys() - 獲取數(shù)組鍵名
- php array_flip() 刪除數(shù)組重復(fù)元素
- php array_filter除去數(shù)組中的空字符元素
- php使用array_rand()函數(shù)從數(shù)組中隨機(jī)選擇一個(gè)或多個(gè)元素
- php數(shù)組函數(shù)序列之a(chǎn)rray_key_exists() - 查找數(shù)組鍵名是否存在
- php數(shù)組函數(shù)序列之a(chǎn)rray_pop() - 刪除數(shù)組中的最后一個(gè)元素
- php數(shù)組函數(shù)序列 之shuffle()和array_rand() 隨機(jī)函數(shù)使用介紹
- PHP array_shift()用法實(shí)例分析
相關(guān)文章
PHP實(shí)現(xiàn)文件上傳與下載實(shí)例與總結(jié)
這篇文章主要介紹了PHP實(shí)現(xiàn)文件上傳與下載實(shí)例與總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-03-03PHP論壇實(shí)現(xiàn)積分系統(tǒng)的思路代碼詳解
這篇文章主要介紹了PHP論壇實(shí)現(xiàn)積分系統(tǒng)的思路,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),文中通過(guò)代碼給大家補(bǔ)充介紹了thinkphp刪除圖片的方法實(shí)現(xiàn)代碼,需要的朋友可以參考下2020-06-06thinkPHP批量刪除的實(shí)現(xiàn)方法分析
這篇文章主要介紹了thinkPHP批量刪除的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP實(shí)現(xiàn)批量刪除數(shù)據(jù)的數(shù)據(jù)庫(kù)及模板操作相關(guān)技巧,需要的朋友可以參考下2016-11-11PHP 多任務(wù)秒級(jí)定時(shí)器的實(shí)現(xiàn)方法
這篇文章主要介紹了PHP 多任務(wù)秒級(jí)定時(shí)器的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05Python中使用django form表單驗(yàn)證的方法
這篇文章主要介紹了Python中使用django form表單驗(yàn)證的方法,需要的朋友可以參考下2017-01-01php讀取EXCEL文件 php excelreader讀取excel文件
php開(kāi)發(fā)中肯定會(huì)遇到將excel文件內(nèi)容導(dǎo)入到數(shù)據(jù)庫(kù)的需要,php-excel-reader可以很輕松的使用它讀取excel文件,本文將詳細(xì)介紹,需要了解的朋友可以參考下2012-12-12