无法从php中的curl调用获取数组元素的值

时间:2018-06-05 03:21:21

标签: php curl

我在php中使用curl调用来获取其中一个REST端点的响应。以下是执行curl调用并将结果导入数组$result_array

的代码
$post_url = 'http://localhost:8180/auth/realms/realm-nextcloud/protocol/openid-connect/token/introspect';
        $curl = curl_init($post_url);
        $fields = array(
                        'client_id' => "test",
                        'client_secret' => "*****-*****",
                        'token_type_hint' => "access_token",
                        'token' => "kjfhakf"
                        );
        //Url-ify the data to prepare for the post request
        $fields_string = http_build_query($fields);
        //Open the connection   
        $ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 4);
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$result_array = json_decode($result,true);
var_dump($result_array);

数组$result_array的var_dump提供以下输出:

array(1) {
  ["active"]=>
  bool(false)
}

虽然,我想提取数组中“active”字段的值,但我似乎无法用$result_array[0] or $result_array['active']来获取它。

另外,如果我使用var_dump($result_array["active"]),我会将输出设为bool(false),但echo $result_array["active"]不打印任何内容?

如何在字符串中将字段echo $result_array["active"]的值设为false

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我发现我将无法使用echo打印出布尔值(不确定我是否可以通过任何其他方法打印),但是可以使用以下代码测试字段的值,并且结果可以使用 $result_boolean = $result_json["active"]; if($result_boolen) { $val = "TRUE"; echo $val; } else { $val = "FALSE"; echo $val; } 以字符串的形式设置为变量。

import React from 'react';
import './Square.css';
import Controller from './controller.js';

class Square extends React.Component {
 render() {
    return (
    <div className="square" onClick={this.child.changePlayer();}>
        {this.props.children(<Controller  ref={instance => { this.child = instance; }}/>)}
      </div>
    )
  }
}

export default Square;