在新浪SAE上学习PHP - 2(转换json格式)

PHP转换成JSON格式有两种方式一种是数组转换,另一种是对象转换.

数组转换后的样式为[..., ..., ...]

对象转换后的样式为{..., ..., , ...,}

当然也可以将数组强制转换成对象后进行JSON变换.

示例代码如下:

<?php

	# 练习使用php进行操作数据库并转换json格式

	# 连接主数据库, 使用 'host', 'user', 'password'
	$link = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS);

	if($link){

		# 选择数据库
   	 	mysql_select_db(SAE_MYSQL_DB, $link);
    
    	// your code goes here
        echo "Connect success </br>\n";
        
        // query array of 0 ~ 30
        $sql = "SELECT * FROM `img_url` LIMIT 0, 30 ";
        
        $result = mysql_query($sql, $link);
        
        
        /*
        result是一个多维数组,row是多维数组中的一行
        打印一行字段为'url'的数据
        */
        
        $list = array();
        
        while($row = mysql_fetch_array($result)) {
            
            print_r($row['url']."</br>\n"); //die;
            
            $array = array(
    			"url" => $row['url'],
			);
     		
            // 保存urls的一维数组
			$list[] = $array;
            
        }
        
        // 定义将要转成json的object
        $obj->id = 10;
        $obj->isEnable = false;
        $obj->urls = $list;
 
        $str = json_encode($obj);
        echo "Array => JSON : ".$str."\n";
       

        mysql_close($link);
    	
    }else{
    	die('Could not connect: ' .mysql_error());
    }

?>

JSON数据格式化显示为:


{

    "id": 10,

    "isEnable": false,

    "urls": [

        {

            "url": "http://www.163.com"

        },

        {

            "url": "http://www.aliyun.com"

        },

        {

            "url": "http://www.baidu.com"

        },

        {

            "url": "http://www.google.com"

        },

        {

            "url": "http://www.qq.com"

        }

    ]

}

因为不熟悉PHP数组的使用方法,一开始走了不少错路,不过还好最终成功的能够得到想要的JSON格式.可能有精通PHP的朋友有更好的方法,可以留言告诉我.



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值