数组和json的相互转换

json_encode()

<?php

/*****一维数组*********/
//有键
$arr = array(
	'a'=>1, 
	'b'=>2,
	'c'=>3,
);
$json = json_encode($arr);
echo($json);  //{"a":1,"b":2,"c":3}

//无键
$arr = array(1,2,3);
$json = json_encode($arr);
echo($json);  //[1,2,3]

/*****二维数组*********/
//有键
$arr = array(
	'a' => array('id'=>1, 'xuefei'=>"100" ), 
	'b' => array('id'=>2, 'xuefei'=>"200" ),
	'c' => array('id'=>3, 'xuefei'=>"300" ),
);
$json = json_encode($arr);
echo($json);  //{"a":{"id":1,"xuefei":"100"},"b":{"id":2,"xuefei":"200"},"c":{"id":3,"xuefei":"300"}}

//无键
$arr = array(
	array('id'=>1, 'xuefei'=>"100" ), 
	array('id'=>2, 'xuefei'=>"200" ),
	array('id'=>3, 'xuefei'=>"300" ),
);
$json = json_encode($arr);
echo($json);  //[{"id":1,"xuefei":"100"},{"id":2,"xuefei":"200"},{"id":3,"xuefei":"300"}]

?>

json_decode

<?php

/*****一维json*********/
//有键
$json = '{"a":1,"b":2,"c":3}'; //不加key的话输出null
$arr = json_decode($json);
var_dump($arr);
/*
输出:
object(stdClass)[1]
  public 'a' => int 1
  public 'b' => int 2
  public 'c' => int 3
*/ 

//无键
$json = '["a","b","c"]';  //加key的话输出null
$arr = json_decode($json);
var_dump($arr);
/*
输出:
array (size=3)
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)
  2 => string 'c' (length=1)
*/

/*****二维json*********/
//有键
$json = '{"a":{"id":1,"xuefei":"100"},"b":{"id":2,"xuefei":"200"},"c":{"id":3,"xuefei":"300"}}';
$arr = json_decode($json,true);
var_dump($arr);
/*
输出:
array (size=3)
  'a' => 
    array (size=2)
      'id' => int 1
      'xuefei' => string '100' (length=3)
  'b' => 
    array (size=2)
      'id' => int 2
      'xuefei' => string '200' (length=3)
  'c' => 
    array (size=2)
      'id' => int 3
      'xuefei' => string '300' (length=3)
*/ 

//无键
$json = '[{"id":1,"xuefei":"100"},{"id":2,"xuefei":"200"},{"id":3,"xuefei":"300"}]';
$arr = json_decode($json,true);
var_dump($arr);
/*
输出:
array (size=3)
  0 => 
    array (size=2)
      'id' => int 1
      'xuefei' => string '100' (length=3)
  1 => 
    array (size=2)
      'id' => int 2
      'xuefei' => string '200' (length=3)
  2 => 
    array (size=2)
      'id' => int 3
      'xuefei' => string '300' (length=3)
*/ 

?>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值