在codeigniter中从json数组中获取值

时间:2015-06-09 16:10:58

标签: php arrays json codeigniter

你好,我有一点json数组。当我试图从json数组中获取值时。

控制器

  $data['payment'] = $this->admin->get_payment_settings();
  $value = $data['payment'][0]->json;

  echo $value['username'];

你好,我在数据库中有一个json数组。使用我的控制器我得到了归档的json。当我做一个var_dump($ value)数组看起来像这样

  {"username":"foodi1.lch.co","password":"FBUEWQH6X4D","signature":"AFcWxV21C7fd0v3bZnWKgr9on9AmTuhyd4MVq","currency":"CAD"}

我想从这个数组中获取每个值。

 echo $value['username'];
 echo $value['password'];

当我尝试这样做时,我收到错误

A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'username'
Filename: controllers/administrator.php

Line Number: 620

有人可以帮助我从json数组中获取值。 TNX ..

2 个答案:

答案 0 :(得分:2)

您需要将字符串解码为有效数组,使用json_decode,如下所示:

$json = json_decode($value, true);
echo $json['username'];

答案 1 :(得分:0)

看来你的$data['payment'][0]是json string。所以你需要解码它。

试试这种方式

$value=json_decode($data['payment'][0]->json,true);//second parameter true will return as array.    
echo $value['username'];