2016-05-07 28 views
0

これまでにこのようなことは経験したことがないので、これは全く驚きです。私のlocalhost環境は5.6.7 PHPです。私のプロダクションサーバ(共有ホスティング)は現在5.3.29で動作しています。このインラインスクリプトは本番環境で問題を引き起こしていますが、私のローカルのエラー、通知、警告なしで動作しているようです。PHP 5.3.29では動作しませんが、5.6.7で動作しています。

<?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']:'')); 

これは私がPHP 5.3.29に乗るエラー
解析エラーです:構文エラー、予期しない '[' で[...] [...]ライン上

何が間違っているかわからないようです。 私は下にサンドボックスのリンクを張りました。問題を再現することができました。私が5.3.29を選択した場合、それは動作しませんが、私はそれがPHP 5.4の動作を開始すると言うと選択すると動作します。 http://sandbox.onlinephpfunctions.com/code/96decf9191975c9948d346d183f6d443f0beeeaf

助けていただければ幸いです。ありがとう。

+0

あなたの目に見えるような表現をする必要はありません。 – mario

答えて

2

PHPの古い日に、関数から返された値を配列から取得できなかったため、explode('-',$account_record['User']['date_of_birth'])[2]という問題があります。変数に最初に保存する必要があります。

+0

ありがとうございます。それはうまくいった。 –

関連する問題