成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP中把stdClass Object轉array的幾個方法

Markxu / 767人閱讀

摘要:和通訊通常都用,但用傳過來的數組并不是標準的,而是類型。那么我們可以參考下面的幾個方法進行轉換。方法一轉方法二方法三如果是的數據量的話,執(zhí)行要進,結構再復雜些,可以達到,性能太差了可以用以下替換但是對的特性,只能是針對的,否則得先轉碼下。

PHP和JS通訊通常都用json,但用 json 傳過來的數組并不是標準的array,而是 stdClass 類型。那么我們可以參考下面的幾個方法進行轉換。

方法一:

//PHP stdClass Object轉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;  
}

方法二:

$array = json_decode(json_encode(simplexml_load_string($xmlString)),TRUE);

方法三:

 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的數據量的話,執(zhí)行要進1s,結構再復雜些,可以達到3s, 性能太差了
可以用以下替換:

function object2array(&$object) {

         $object =  json_decode( json_encode( $object),true);
         return  $object;

}

 但是對json的特性,只能是針對utf8的,否則得先轉碼下。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/22439.html

相關文章

  • JS+PHP+MYSQL處理JSON的全面總結

    摘要:結論把存入數據庫前必須做次處理中文處理包含中文的字符串時,會將中文字符轉換為的形式,而且通過是不能恢復的。處理特殊字符通過解決中文問題會帶來新問題,的特殊字符處理。 開發(fā)過程中經常碰到要把前端的json格式的數據傳遞到后端php,php做一些業(yè)務處理后把數據存到mysql,然后,php再從mysql中取出數據返回到前端。雖然這是一個再基礎不過的處理過程,但還是有不少問題需要認真研究。下...

    騫諱護 評論0 收藏0
  • JS+PHP+MYSQL處理JSON的全面總結

    摘要:結論把存入數據庫前必須做次處理中文處理包含中文的字符串時,會將中文字符轉換為的形式,而且通過是不能恢復的。處理特殊字符通過解決中文問題會帶來新問題,的特殊字符處理。 開發(fā)過程中經常碰到要把前端的json格式的數據傳遞到后端php,php做一些業(yè)務處理后把數據存到mysql,然后,php再從mysql中取出數據返回到前端。雖然這是一個再基礎不過的處理過程,但還是有不少問題需要認真研究。下...

    anRui 評論0 收藏0
  • 開發(fā)拾遺

    摘要:字符串轉成中文二進制直接量和隱式轉換兩個字符串恰好以的科學記數法開頭,字符串被隱式轉換為浮點數,也就等效于轉為進制,無此的松比較如果值為,那么它會滿足任何一條使用對象的瀏覽器兼容性問題同時支持和分割日期的時間字符串不支持分割日期的時間 python unicode字符串轉成中文 s = u6d4bu8bd5u957fu5ea6 s = s.replace(u, u) print s...

    weij 評論0 收藏0
  • 開發(fā)拾遺

    摘要:字符串轉成中文二進制直接量和隱式轉換兩個字符串恰好以的科學記數法開頭,字符串被隱式轉換為浮點數,也就等效于轉為進制,無此的松比較如果值為,那么它會滿足任何一條使用對象的瀏覽器兼容性問題同時支持和分割日期的時間字符串不支持分割日期的時間 python unicode字符串轉成中文 s = u6d4bu8bd5u957fu5ea6 s = s.replace(u, u) print s...

    qc1iu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<