我知道如何以笨重冗長的方式執行此操作,但是是否有一種優雅的方法可以從 URL 中檢索單個引數,而不管 URL 中是否存在鍵或索引頁?即永遠不會有&secondparam=blah.
$_GET["slug"] 僅當 url 有時才有效 slug=foobar
例如,回傳foobar這些 URL 中的任何一個
site.com/page/index.php?slug=foobar
site.com/page/index.php?foobar
site.com/page/?slug=foobar
site.com/page/?foobar
uj5u.com熱心網友回復:
這是我的解決方案:
$slug = $_GET['slug'] ?? reset(array_keys($_GET));
var_dump($slug);
當slug未找到時,它將回傳第一個引數名稱。
要知道,這將是一個空字串時,URL引數“塞”沒有價值,即:?slug與false如果不帶任何引數,在所有發現。
也許這更一致一點:
// edit: added redundant parentheses to make operator precedence more clear
$slug = ($_GET['slug'] ?? reset(array_keys($_GET))) ?: null;
var_dump($slug);
...因為它將null在前面提到的兩個邊緣情況下回傳。
uj5u.com熱心網友回復:
$_GET 實際上是一個包含所有這些資訊的陣列。
只需使用 if 陳述句
if(empty($_GET)) {
continue
}
uj5u.com熱心網友回復:
<?php
function reader()
{
foreach($_GET as $key => $val)
{
if( ! empty($val))
{
return $val;
}
return $key;
}
}
echo reader();
?>
解釋:首先回傳 $value。如果不為空,則回傳該 $key
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/334764.html
