[英]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.