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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试检查GET请求发送的数组的输出相关的知识,希望对你有一定的参考价值。

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请求。

答案

如果你从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 );

以上是关于尝试检查GET请求发送的数组的输出的主要内容,如果未能解决你的问题,请参考以下文章

AFNetworking 在 GET 请求的 JSON 参数中发送数组

emberJS JSONAPI 适配器发送 OPTION 而不是 GET 请求 [重复]

Java 检查 GET 请求信息

Python 向 Postman 请求代码片段

如何在 Swift 的 Get 请求中发送 [String]?

iOS Swift moya框架发送数组作为请求参数(GET/POST)