について1
:結果は常にブール値になりますので、
PHP、||
では、あなたのJavaScriptから期待するかもしれない何をしません。 ||
はオペランドを暗黙的にブール値に変換し、結果を返します。
PHPでJavaScriptから短絡||
と同等のものを取得するには、?:
使用することができます(いわゆる「エルビス演算子」 - x ?: y
はx ? x : y
の省略形です):
$days = isset($dy['value']) || isset($days['value']) ? ($dy['value'] ?: $days['value']) : null;
を私はdidnの最初の||
を変更するのは本当にブーリアン操作なので変更しませんが、2番目のものを置き換えました。私はあなたがE_NOTICE
エラーがで報告している場合$days['value']
を設定し、$dy['value']
ではないされている場合、あなたはまださえ$dy['value']
にアクセスしているので、PHPは、とにかく文句を言うでしょうので、あなたのコード内の論理エラーが、とにかくあると思うしかし
isset($dy['value']) == false
。 (。 - あなたはそれのように見える||
を使用しているかに応じて、あなたもそれはfalsyだ場合は、値をスキップしたいと仮定)
あなたの場合
$days = (isset($dy['value']) ? $dy['value'] : null) ?: (isset($days['value']) ? $days['value'] : null);
:だから、たとえば、使用する必要があります
$days = $dy['value'] ?: $days['value'] ?: null;
CherryDTロック!最高の詳細な答えの1つです... – no1uknow
Thx!このオペレータが実際に何であるかについての説明が追加されました。 – CherryDT