我如何将来自 API 的响应用于控制器 - CodeIgniter

How do I use response from an API into the controller - CodeIgniter

我尝试集成内置 laravel 的 API,现在我必须将 API 的响应用于 Codeigniter 项目,我正在开发 Codeigniter project(我对这个框架不熟悉,第一次接触这个),

我终于可以做到了,我收到了 API

的回复
        $result = curl_exec($response); 
        $rs=json_decode($result,true); print_r($rs);
        return $rs;

        Array( 
             [user] => 
                  Array( 
                       [user_no] => PMRQ3fVd6eGEvd5aO9MDJg()() [name] => Anthony [middle_name] => S [lastname] => Mosteller [email] => AnthonyMosteller@test.net
              )
        )

并拼命尝试访问对象的全名、电子邮件和 user_no 到我的控制器中 但是我现在卡住了。

控制器代码:

$user=$this->userapi->userapicall($user_url,$token); 
$this->session->set_userdata('username',$user['name']); // here want to use full name (name+middle_name+lastname)
$this->session->set_userdata('useremail',$user['email']);

I'm getting an error for name and email

A PHP Error was encountered Severity: Notice

Message: Undefined index: name

Filename: controllers/auth.php

Line Number: 106

我是否需要为每个循环创建一个循环,或者看起来我犯了一些非常愚蠢的错误

我希望能举个例子。

$rs = json_decode($result,true); print_r($rs);

这里是一个多维数组。根据您的代码示例,它看起来像 -

$rs = ['user' => ['user_no' => 'PMRQ3fVd6eGEvd5aO9MDJg', 'name' => 'Anthony', 'middle_name' => 'S', 'lastname' => 'Mosteller', 'email' => 'AnthonyMosteller@test.net']];

因此,如果尝试访问控制器中的用户名 -

$this->session->set_userdata('username',$user['user]['name']);

这应该可以解决问题。您还应该检查是否从 API.

获得成功状态