程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP json_encode 中文處理類實例

PHP json_encode 中文處理類實例

編輯:關於PHP編程

中文處理在php中處理總是不那麼完美經常會碰到中文處理時亂碼或為空問題,下面我在處理json時也碰到同樣的問題,後來整理一個完美解決 json_encode 中文亂碼或為空程序類。  代碼如下 復制代碼
/**************************************************************
    *
    * 使用特定function對數組中所有元素做處理
    * @param string &$array 要處理的字符串
    * @param string $function 要執行的函數
    * @return boolean $apply_to_keys_also 是否也應用到key上
    * @access public
    *
    *************************************************************/
    function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
    {
    static $recursive_counter = 0;
    if (++$recursive_counter > 1000) {
    die('possible deep recursion attack');
    }
    foreach ($array as $key => $value) {
    if (is_array($value)) {
    arrayRecursive($array[$key], $function, $apply_to_keys_also);
    } else {
    $array[$key] = $function($value);
    }
    if ($apply_to_keys_also && is_string($key)) {
    $new_key = $function($key);
    if ($new_key != $key) {
    $array[$new_key] = $array[$key];
    unset($array[$key]);
    }
    }
    }
    $recursive_counter--;
    }
    /**************************************************************
    *
    * 將數組轉換為JSON字符串(兼容中文)
    * @param array $array 要轉換的數組
    * @return string 轉換得到的json字符串
    * @access public
    *
    *************************************************************/
    function JSON($array) {
    arrayRecursive($array, 'urlencode', true);
    $json = json_encode($array);
    return urldecode($json);
    }
    
    $array = array
    (
    'Name'=>'絡恩',
    'Age'=>24
    );
    
    
    echo JSON($array);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved