isset()在php5.6中工作但在php7.0中没有

问题描述 投票:2回答:1

我有一个代码库,我试图迁移到7.0。

在代码中,我有类似于:isset($user['details']['phone_no']),其中$user是User的对象。这在php5.6中工作正常。在php7中它返回false。在做var_dump($user['details']['phone_no'])时,它返回一个字符串。

当我更改代码时,它工作正常:

$phone_no = isset($user['details']['phone_no']) ? $user['details']['phone_no'] : 'XXXXXXXXXX'; 

至:

$phone_no = $user->details->phone_no ?? 'XXXXXXXXXX';

但是,代码库太大而无法重构。

php php-7 php-5.6
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.