Menggunakan Nested Ternary Operators
Dalam usaha memperkemas kenyataan bersyarat, anda mungkin menghadapi keperluan untuk menyarangkan operator ternary. Walau bagaimanapun, seperti yang ditunjukkan oleh contoh anda, mencapai ini boleh menjadi sukar:
<code class="php">isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0</code>
Untuk membetulkannya, adalah penting untuk membungkus keseluruhan ungkapan dalam kurungan:
<code class="php">$selectedTemplate = isset($_POST['selectedTemplate']) ? $_POST['selectedTemplate'] : ( isset($_GET['selectedTemplate']) ? $_GET['selectedTemplate'] : 0 );</code>
Sebagai alternatif, untuk penambahbaikan kebolehbacaan dan penyelenggaraan, pertimbangkan untuk menggunakan pernyataan if/else:
<code class="php">$selectedTemplate = 0; if (isset($_POST['selectedTemplate'])) { $selectedTemplate = $_POST['selectedTemplate']; } elseif (isset($_GET['selectedTemplate'])) { $selectedTemplate = $_GET['selectedTemplate']; }</code>
Walau bagaimanapun, untuk kesederhanaan dan keserasian dengan kedua-dua kaedah POST dan GET, penyelesaian berikut mungkin lebih sesuai:
<code class="php">$selectedTemplate = isset($_REQUEST['selectedTemplate']) ? $_REQUEST['selectedTemplate'] : 0;</code>
Atas ialah kandungan terperinci Bagaimana untuk Menstrukturkan Operator Ternary Bersarang untuk Logik Bersyarat yang Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!