為什麼嵌套三元運算子需要括號?

Barbara Streisand
發布: 2024-11-04 09:04:30
原創
623 人瀏覽過

Why Do I Need Parentheses for Nested Ternary Operators?

巢狀三元運算子:已解決的難題

在程式設計領域,巢狀三元運算子可以成為簡潔條件語句的寶貴工具。然而,實施它們有時可能很棘手。使用者最近遇到的一個挑戰是以嵌套形式使用 isset():

isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0
登入後複製

使用者遇到了此表達式的問題,並向程式設計社群尋求協助。讓我們深入研究出現的解決方案:

為了使嵌套三元運算子正確運行,它們必須括在括號內。這確保了表達式按預期順序求值。以下是修正後的程式碼:

$selectedTemplate = isset($_POST['selectedTemplate'])
                  ? $_POST['selectedTemplate']
                  : (
                       isset($_GET['selectedTemplate'])
                       ? $_GET['selectedTemplate']
                       : 0
                  );
登入後複製

但是,為了提高可維護性和清晰度,更建議使用if/else 語句:

$selectTemplate = 0;

if (isset($_POST['selectedTemplate'])) {
    $selectTemplate = $_POST['selectedTemplate'];
} elseif (isset($_GET['selectedTemplate'])) {
    $selectTemplate = $_GET['selectedTemplate'];
}
登入後複製

最後,為了簡單易用使用時,值得考慮$_REQUEST:

$selectedTemplate = isset($_REQUEST['selectedTemplate'])
                  ? $_REQUEST['selectedTemplate']
                  : 0;
登入後複製

請記住,方法的選擇最終取決於應用程式的特定要求。祝您編碼愉快,並祝福您的三元組完美嵌套!

以上是為什麼嵌套三元運算子需要括號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!