-
PHP中数组转换成json字符串程序代码
数据转换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 ) . """;
- }//开源软件:phpfensi.com
- // Add to staging array:
- $construct [] = $value;
- }
- // Then we collapse the staging array into the JSON form:
- $result = "[" . implode ( ", ", $construct ) . "]";
- }
- return $result;
- }
你可以试试这个,然后json_encode换成上面的函数看看正常了吗,代码如下:
- <?php
- if($_GET['enews']=='ok'){
- echo json_encode(array('a'=>'王进'));exit;
- }
- ?>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript">
- $(function(){
- $.get("?enews=ok", function(result){
- alert(result);
- });
- });
- </script>
关于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.//开源软件:phpfensi.com
- 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.phpfensi.com/php/20140914/5573.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式