包含php的json_encode的詞條

本文目錄一覽:

php 中 json_encode 只保留 value

循環將每個數組的值裝入一個新數組,然後將新數組轉換成json格式即可實現。示例如下:

?php

header(“Content-type:text/html;charset=utf-8;”);

$str='[{“id”:”1″,”數據1″:”11″,”數據2″:”12″},{“id”:”2″,”數據1″:”21″,”數據2″:”22″},{“id”:”3″,”數據1″:”31″,”數據2″:”32″}]’;

$data=json_decode($str,true);

$arr=array();

foreach ($data as $key=$item){

    $arr[]=array_values($item);

    

}

print_r(json_encode($arr));

//[[“1″,”11″,”12”],[“2″,”21″,”22”],[“3″,”31″,”32”]]

?

php的json_encode如何讓中文不要編碼保持原始值?

json_encode只支持UTF8編碼的字符,保證在使用JSON處理的時候字符是以UTF8編碼的。具體我們可以把數據庫編碼和頁面編碼都改為UTF8。當然喜歡用gbk編碼的話,可以在進行JSON處理前,把字符轉為UTF8形式。濟南諾洋網絡為您解答,希望可以幫到您。

PHP中json_encode中文亂碼問題

php 中使用 json_encode() 內置函數(php 5.2)可以使用得 php 中數據可以與其它語言很好的傳遞並且使用它。這個函數的功能是將數值轉換成json數據存儲格式

$arr = array (‘a’=1,’b’=2,’c’=3,’d’=4,’e’=5);

echo json_encode($arr);

//結果

//{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}

/*

下面看一款json_encode中文亂碼問題

解決方法是用urlencode()函數處理以下,在json_encode之前,把所有數組內所有內容都用urlencode()處理一下,然用json_encode()轉換成json字符串,最後再用urldecode()將編碼過的中文轉回來

*/

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’=20

);

echo json($array);

//應用實例

$servname=”localhost”;

$sqlservname=”root”;

$sqlservpws=”123456″;

$sqlname=”lock1″;

$db=mysql教程_connect($servname,$sqlservname,$sqlservpws) or die(“數據庫教程連接失敗”);

mysql_select_db($sqlname,$db);

$sql = “select * from t_operater”;

$result =mysql_query($sql);

$rows = mysql_num_rows($result);

while($obj = mysql_fetch_object($result))

{

$arr[] = $obj;

}

echo ‘({“total”:”‘.$rows.'”,”results”:’.json_encode($arr).’})’;

php中關於json_encode的問題

是的,[“Apple”,”Banana”,”Pear”]是json的數組格式

需要在php上改動:

var_dump(json_encode(array(“Apple”, “Banana”, “Pear”), JSON_FORCE_OBJECT));

所選答案錯誤,有眼無珠

如何讓php jsonencode 不轉義unicode

方法有兩種

1:php版本大於等於5.4,在使用json_encode的時候加入第二個參數JSON_UNESCAPED_UNICODE:如

//這樣使用中文可不會被轉義

$jsonStr = json_encode($data,JSON_UNESCAPED_UNICODE);

2:如果php版本小於5.4,可以使用這種方法,對unicode碼再進行解碼,解碼函數如下:

/**

    * 因php版本小於 5.4

    * decodeUnicode 對中文編碼unicode進行反轉義為漢字

    * @param  $str json字符串

    * @return 轉義後的json字符串

    */

   function decodeUnicode($str)

   {

       return preg_replace_callback(‘/\\\\u([0-9a-f]{4})/i’,

           create_function(

               ‘$matches’,

               ‘return mb_convert_encoding(pack(“H*”, $matches[1]), “UTF-8”, “UCS-2BE”);’

           ),

           $str);

   }

   

   //使用方法

   $jsonStr = decodeUnicode(json_encode($data));

   //或者單獨封裝一個函數

   function _json_encode($data=array()){

       return decodeUnicode(json_encode($data));

   }

PHP json_encode 變量如何轉換成數組?

1json_decode(json數據, true); //得到一個數組

json_encode()函數和json_decode()是一對函數

作用剛好相反

一個是將數組轉換成json數據

一個是將json數據轉換成數組

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/271337.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 14:55
下一篇 2024-12-16 14:55

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種數據庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論