警告:非法字符串偏移'id'

时间:2015-04-24 23:38:09

标签: php json stripe-payments

我有以下代码:

 $charge = \Stripe\Charge::create(array(
      'customer' => $customer->id,
      'amount'   => $amount,
      'currency' => 'cad',
            'capture' => 'false',

      'description'=>  $courseTitle

  ));


$charge_json = $charge->__toJSON();

echo $charge_json['id'];
 echo "<pre>";
 var_dump($charge_json); 
 echo "</pre>";


}

意图是抓住下面果岭上的什么: enter image description here

但是我收到以下错误:

Warning: Illegal string offset 'id' 

我想稍后在mysql查询中使用该变量

2 个答案:

答案 0 :(得分:2)

据我所知,这是一个JSON字符串。

您需要使用json_decode将其转换为数组或对象:

$array = json_decode($charge_json, true);
$object = json_decode($charge_json);

对于数组,您可以像访问它一样访问它。

对于某个对象,您可以像访问$object->id

一样访问它

如果Stripe提供了一种将其作为对象或数组检索的方法,那么你应该使用它。

答案 1 :(得分:2)

$ charge已经是一个对象,所以你可以抓住$ charge-&gt; id

echo $charge->id

会打印费用ID。

调用toJSON会将其转换为字符串,因此string [string]无效php。