簡體   English   中英

縮短PHP,如果否則阻止

[英]shortened php if else block

如果不這樣做,那么短路是什么? 我以前看過它,但記不起來了。

if (isset($_POST['value')){
 $value = $_POST['value'];
} elseif (isset($_GET['value'])){
 $value = $_GET['value'];
} else {
 $value = '';
}
$value = filter_input(FILTER_POST, 'value') ?: filter_input(FILTER_GET, 'value');

或者,如果您必須獲取多個變量,請執行以下操作:

$input = $_POST + $_GET + $defaults;
$value = $input['value'];

+運算符不會覆蓋左數組中的現有鍵;在這種情況下,它的工作方式類似於array_merge($defaults, $_GET, $_POST) 。)

您是指使用$ _REQUEST全局數組而不是同時檢查$ _POST和$ _GET嗎? 如果是這樣,應該是:

if(isset($_REQUEST['value']))
{
    $value = $_REQUEST['value'];
}else
    $value = '';

或三元形式:

$value = isset($_REQUEST['value']) ? $_REQUEST['value'] : '';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM