我需要從具有不同名稱的url中獲取許多參數,並檢查它們是否已設置。 (它們的價值不一定很重要)。檢查以簡明的方式設置了哪些參數 - PHP
https://example.com?one=true&two=true&three=true etc.
問題是,在我想要做的事情中,他們中的任何一個都可以設置或不設置。
所以我需要的方式幫助抓住哪些是URL,然後在清潔的方式設置,最好儲存而不是有多個$_GET
和isset()
線匹配參數的名稱不同的變量, if
陳述遍佈各地。
編輯:提交參數將始終在URL中:我想這可能只是使用foreach循環完成。
if (isset($_GET['submit'])) {
foreach ($_GET as $key => $value) {
$key = $value;
echo $key;
}
}
這將回聲出$鍵的值,(這是我所需要的,因爲那時我知道它被設置),但後來我需要得到什麼$鍵設置爲實際的名稱。
感謝
編輯2: 我已經找到了如何做到這一點 - 所有我需要的是得到的URL參數和了解他們的名字。對不起,如果我已經寫得很好。
if (isset($_GET['submit'])) {
foreach ($_GET as $key => $value) {
$$value = $key;
echo $key;
}
}
我發現使用可變的變量是我需要的(因此2 $$) 這給我,到了最後,$鍵作爲名稱的任何參數都在url中,存儲在$值它有相同的名字。
當其中一個沒有設置時會發生什麼? –
在您動態創建一組與參數名稱匹配的不同變量後,是否考慮過在實際使用其中一個變量時需要執行的操作? –
我會創建一個值設置爲false(或其他)的預期鍵數組,然後與$ _GET合併。我不會根據名稱動態創建變量。這可能會導致各種問題。 – Dave