1

次のように HTML の文字列を作成しようとしています。

$html= "<input name='".GROUP_CONFIG_MAX_CALL_RECORDING_TIME_INPUT."' value='".$MaxCallRecordingTimeSecs."' size='4' ".($bCallRecordingLicensed)?'':'disabled'.">";

しかし、それは私に解析エラーを与えるだけです(具体的な詳細はありません。この行が問題であるということだけです)。

引用符と括弧のさまざまな配置を試みましたが、常に解析エラーが発生します。これは私が試みている方法で可能ですか?

4

4 に答える 4

3
$html= "<input name='".GROUP_CONFIG_MAX_CALL_RECORDING_TIME_INPUT."' value='".$MaxCallRecordingTimeSecs."' size='4' ".($bCallRecordingLicensed?'':'disabled').">";

コーディングビズが言ったように、これは追加の括弧で機能するはずです。ただし、sprintf を使用したより読みやすいバージョンを使用したいと思います。

$html = sprintf( 
   '<input name="%s" value="%s" size="4"%s>',
   GROUP_CONFIG_MAX_CALL_RECORDING_TIME_INPUT,
   $MaxCallRecordingTimeSecs,
   ( $bCallRecordingLicenced ? '' : ' disabled' )
);
于 2012-10-08T14:28:59.407 に答える
1

試す

".(($bCallRecordingLicensed)?'':'disabled').">";

追加ブラケット

于 2012-10-08T14:25:15.483 に答える
1

最初の変数だけでなく、三項全体を括弧で囲んでみてください。

$html= "<input name='".GROUP_CONFIG_MAX_CALL_RECORDING_TIME_INPUT."' value='".$MaxCallRecordingTimeSecs."' size='4' ".($bCallRecordingLicensed?'':'disabled').">";
于 2012-10-08T14:31:51.367 に答える
-1

引用符を変更したためだと思います:

例えば

$test = false;
$strings = "hello ".($test?"you":"")." this is a test";
echo $strings;

あなたが期待したように動作します。

たとえば、私のテストでは、文字列全体ではなく「あなた」という単語しか生成されませんでした。これは奇妙でした。

于 2012-10-08T14:28:36.143 に答える