Php 未定义索引,但该索引存在

Php 未定义索引,但该索引存在,php,arrays,json,undefined-index,Php,Arrays,Json,Undefined Index,我希望有人能帮我解决以下错误。我找不到解决办法 var_dump($curl->response); echo '<br><br><br><br>'; $result = json_decode(json_encode($curl->response), true); var_dump($result); echo '<br><br><br><br>'; $key = 'email';

我希望有人能帮我解决以下错误。我找不到解决办法

var_dump($curl->response);
echo '<br><br><br><br>';
$result = json_decode(json_encode($curl->response), true);

var_dump($result);
echo '<br><br><br><br>';

$key = 'email';
foreach ($result as $k => $v) {
    echo  $k . '->' . $result[$k] . '<br>';
    if ($k == $key) {
        echo $result[$key] . '<br>';
    }
}
//$result[$key];
这里一切都好。但如果取消对最后一行$result[$key]的注释,则会出现以下错误:

Slim Application Error
The application could not run because of the following error:

Details
Type: ErrorException
Code: 8
Message: Undefined index: email
File: \App\Controllers\Api\V1\binar\Model.php
Line: 313
Trace
#0 \App\Controllers\Api\V1\binar\Model.php(313): Slim\Slim::handleErrors(8, 'Undefined index...', 'App\Controllers\Api...', 313, Array)
#1 \App\Controllers\Api\V1\binar\Model.php(352): App\Controllers\Api\V1\binar\Model::send('https://api.get...', 'POST', Array, Array, false)
#2 \App\Controllers\Api\V1\binar\binar.php(47): App\Controllers\Api\V1\binar\Model->applyCredentials()
#3 [internal function]: App\Controllers\Api\V1\binar\binar::demo()
#4 \vendor\slim\slim\Slim\Route.php(173): call_user_func_array(Array, Array)
#5 [internal function]: Slim\Route->Slim\{closure}()
#6 \vendor\slim\slim\Slim\Route.php(468): call_user_func_array(Object(Closure), Array)
#7 \vendor\slim\slim\Slim\Slim.php(1355): Slim\Route->dispatch()
#8 \vendor\slim\slim\Slim\Middleware\Flash.php(85): Slim\Slim->call()
#9 \vendor\slim\slim\Slim\Middleware\MethodOverride.php(92): Slim\Middleware\Flash->call()
#10 \App\Resources\Middleware\APMiddleware.php(28): Slim\Middleware\MethodOverride->call()
#11 \App\Resources\Middleware\LPMiddleware.php(31): App\Resources\Middleware\APMiddleware->call()
#12 \vendor\slim\slim\Slim\Middleware\PrettyExceptions.php(67): App\Resources\Middleware\LPMiddleware->call()
#13 \vendor\slim\slim\Slim\Slim.php(1300): Slim\Middleware\PrettyExceptions->call()
#14 \index.php(8): Slim\Slim->run()
#15 {main}
同一行在foreach内部运行良好,这就是为什么它向我显示了两次电子邮件

我使用的是php curl类/php curl类4.8

我真的不明白我做错了什么,也不知道在哪里寻找解决办法

谢谢你的帮助

编辑 如果我这样做

$this->email = $curl->response->email
我得到错误:未定义属性:stdClass::$email
但如果我这样做了

$this->email = (property_exists($curl->response, 'email')) ? $curl->response->email : null;

我没有错误,$this->email加载了正确的值

Small Point一行代码,其中只包含
$result[$key]
绝对没有意义重要的一点是,请始终向我们显示所有错误消息,而不仅仅是摘要。谢谢@RiggsFolly,我包含了全部错误。为什么人们觉得需要将一个完美可爱的对象转换为数组?为什么不使用
echo$curl->response->email这是我第一次尝试,但我得到了相同的错误<代码>消息:未定义属性:stdClass::$email
$this->email = (property_exists($curl->response, 'email')) ? $curl->response->email : null;