在PHP中解码数组(来自Shopify API)

时间:2018-04-27 作者:Mark Williams

我对PHP开发相对较新,如果能帮助从Shopify REST API(到我正在编写的插件)访问的一系列客户,我将不胜感激。这更多的是关于如何处理返回的内容,而不是API本身。

我的代码如下。我已经尝试了很多次迭代,这只是最近的一次失败。我的目标很简单,即检索客户列表。

REST API调用正在工作,即如果我将target\\u URL复制到浏览器中,我会很好地收到客户的回复。。。

{"customers":[{"id":<ID>,"email":"<eMail>"}]}
这正是我所期望的。因此,从调用本身(凭据、端点、参数等)来看,一切似乎都很好。

但是,记录的条目显示以下内容(请参阅下面的代码):

返回的客户=阵列,,

如何对其进行解码,以便作为数组进行迭代?

  $args = array(
    \'headers\' => array(\'Content-Type\' => \'application/json\', \'Accept\' => \'*/*\'),
  );
  $response = wp_remote_get( $target_url , $args );  
  $customer_array = json_decode( $response[\'body\'], true );
  error_log(\'Customers Returned  = \' . $customer_array[\'customers\'] . "," . $customer_array[\'id\'] . "," . $customer_array[\'email\']);

1 个回复
最合适的回答,由SO网友:Hồ Trọng Linh Ân 整理而成

遵循json模板。json\\u解码的结果如下

array (
  \'customers\' => 
  array (
    0 => 
    array (
      \'id\' => 1123,
      \'email\' => \'<eMail>\',
    ),
  ),
)
因此,应该使用foreach循环,或者可以使用specify键获取值。

例如:

$customer_array[\'customers\'][0][\'id\']
$customer_array[\'customers\'][0][\'email\']

结束

相关推荐

正在将外部Java脚本函数入队。php

由于某种原因,我似乎无法将外部JS文件排队。我可以将外部css文件排队,但不能将JS文件排队。我有一个使用引导css框架的自定义主题。我的职能。php如下:function add_css_scripts(){ wp_enqueue_style(\'boot-strap\',\'https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css\',false); wp_enqueue_style