尝试检查GET请求发送的数组的输出

时间:2018-01-01 08:28:02

标签: php api get xmlhttprequest php-curl

private $api_url= "www.myurl.com";
  private $api_key = "111abjkbjkvsdf3879";

private function getpage($url, $redirect=FALSE) {
  $url = $this->purge_url($url);
  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
**/*Output the value of the array NULL NULL*/**
  $p_result = curl_exec($ch);
  $array = json_decode(trim($p_result), TRUE);
  var_dump($array);

  if ($redirect)  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

 if (!$page=curl_exec($ch)) {
      $this->add_error("Remote GET connection to $url failed: ".curl_error($ch)); 
      curl_close($ch);
            return false;

  }
  curl_close($ch);

  $this->xmlsource = $page;

  return $page;
    } 

在var_dump($ array)中输出数组的值为:NULL NULL 在我的情况下,NULL是值,还是我在检索值时犯了错误?我尝试发送APIkey请求。

1 个答案:

答案 0 :(得分:0)

如果您从var_export获得的内容实际上是一个包含两个值null的数组,那么这对应于JSON [null, null]的成功解码。

见这个例子:

<?php
$encoded = "[null, null]";

$decoded = json_decode( $encoded, true );

var_export( $decoded );

输出:

array (
  0 => NULL,
  1 => NULL,
)

如果这不是您所期望的,那么您需要对GET请求应用更正。

您可以通过检查传递给 curl

$url来检查它

如果要在解码前使用var_export( $p_result );

检查实际响应的内容