PHP中數群組轉換成json字串程式碼_PHP教程

來源:互聯網
上載者:User
資料轉換js格式的資料是我們常用一種資料傳遞的方法,特別像ajax中會時常用到把資料轉換成json然後再轉換回來,下面看一個執行個體。
代碼如下 複製代碼

function array_to_json($array) {
if (! is_array ( $array )) {
return false;
}

$associative = count ( array_diff ( array_keys ( $array ), array_keys ( array_keys ( $array ) ) ) );
if ($associative) {

$construct = array ();
foreach ( $array as $key => $value ) {

// We first copy each key/value pair into a staging array,
// formatting each key and value properly as we go.


// Format the key:
if (is_numeric ( $key )) {
$key = "key_$key";
}
$key = """ . addslashes ( $key ) . """;

// Format the value:
if (is_array ( $value )) {
$value = array_to_json ( $value );
} else if (! is_numeric ( $value ) || is_string ( $value )) {
$value = """ . addslashes ( $value ) . """;
}

// Add to staging array:
$construct [] = "$key: $value";
}

// Then we collapse the staging array into the JSON form:
$result = "{" . implode ( ",", $construct ) . "}";

} else { // If the array is a vector (not associative):


$construct = array ();
foreach ( $array as $value ) {

// Format the value:
if (is_array ( $value )) {
$value = array_to_json ( $value );
} else if (! is_numeric ( $value ) || is_string ( $value )) {
$value = """ . addslashes ( $value ) . """;
}

// Add to staging array:
$construct [] = $value;
}

// Then we collapse the staging array into the JSON form:
$result = "[" . implode ( ", ", $construct ) . "]";
}

return $result;
}

你可以試試這個 然後json_encode換成上面的函數看看正常了嗎

代碼如下 複製代碼

if($_GET['enews']=='ok'){
echo json_encode(array('a'=>'王進'));exit;
}
?>

關於php中json_encode

json_encode()將PHP的不同類型的變數轉換為對應的JSON字串 string json_encode(mixed $value [, int

$options = 0])

PHP 5.3.0

JSON_HEX_QUOT: 將所有的雙引號(”)轉換為u0022。
// 執行個體代碼:

代碼如下 複製代碼
$data = '"';
echo json_encode($data); // """
echo json_encode($data, JSON_HEX_QUOT);

// "u0022"■JSON_HEX_TAG: 將所有的大於符號(>)轉換為u003E,將

所有的小於符號(<)轉換為 u003C。
JSON_HEX_AMP: 將所有的與號(&)轉換為 u0026。
JSON_HEX_APOS: 將所有的單引號(’)轉換為u0027。
JSON_FORCE_OBJECT: 當value為非關聯陣列時強制輸出結果為JSON對象。在接收者要求資料為對象且value為空白數組時

使用。

// 執行個體代碼:

代碼如下 複製代碼
$data = array();
echo json_encode($data); // []
echo json_encode($data, JSON_FORCE_OBJECT); // {}

PHP 5.3.3

JSON_NUMERIC_CHECK: Encodes numeric strings as numbers.

PHP 5.4.0

JSON_BIGINT_AS_STRING: Encodes large integers as their original string value. Available since PHP
5.4.0.

JSON_PRETTY_PRINT: Use whitespace in returned data to format it. Available since PHP 5.4.0.
JSON_UNESCAPED_SLASHES: Don’t escape /. Available since PHP 5.4.0.
JSON_UNESCAPED_UNICODE: Encode multibyte Unicode characters literally (default is to escape as uXXXX).

Available since PHP 5.4.0.


http://www.bkjia.com/PHPjc/445290.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445290.htmlTechArticle資料轉換js格式的資料是我們常用一種資料傳遞的方法,特別像ajax中會時常用到把資料轉換成json然後再轉換回來,下面看一個執行個體。 代碼如...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.