PHP内联条件在PHP5.3.29中不起作用,但在5.6.7中起作用

PHP内联条件在PHP5.3.29中不起作用,但在5.6.7中起作用,php,syntax-error,conditional-operator,php-parse-error,Php,Syntax Error,Conditional Operator,Php Parse Error,这让我完全困惑,因为我以前从未经历过这样的事情。我的localhost环境是5.6.7 PHP,我的生产服务器(共享主机)当前运行的是5.3.29,该内联脚本似乎在生产环境中造成了问题,但在我的本地服务器上运行时没有任何错误、通知甚至警告 <?php $account_record['User']['date_of_birth'] = ''; $request_data['User']['dob_data'] = ''; $dob_date = (!empty($account_reco

这让我完全困惑,因为我以前从未经历过这样的事情。我的localhost环境是5.6.7 PHP,我的生产服务器(共享主机)当前运行的是5.3.29,该内联脚本似乎在生产环境中造成了问题,但在我的本地服务器上运行时没有任何错误、通知甚至警告

<?php

$account_record['User']['date_of_birth'] = '';
$request_data['User']['dob_data'] = '';
$dob_date = (!empty($account_record['User']['date_of_birth'])?explode('-',$account_record['User']['date_of_birth'])[2]:(!empty($request_data['User']['dob_date'])?$request_data['User']['dob_date']:''));

有一个问题
explode('-',$account\u record['User']['date\u of u birth'])[2]
,在php的旧时代,你无法从数组中获取值,因为它们是从函数返回的,你必须先将其保存到一个变量。

有一个问题
explode('-',$account\u record['User'['date of u birth'])[2]
,在过去的php中,由于数组是从函数返回的,所以无法从数组中获取值,您必须先将其保存到变量中。

没有必要使表达式像您的表达式那样不可读。没有必要使表达式像您的表达式那样不可读。谢谢Musa。成功了,谢谢穆萨。成功了。