2017-01-16 94 views
1

你好我有一個想法的方式來設置自定義變量與$_GET對方在一個更清潔的方式比下面,這是一個回發的url http://example.com/postback.php?id={offer_id}&offer={offer_name}&session={session_ip}&payout={payout}後運行我得到所有$_GET與他們的數據或零爲所有變量:$id,$offer,$session,$payout顯然我是一個PHP新手,請容易對我!謝謝,任何幫助都會很棒。檢查GET isset和set變量的更好方法是什麼?

if (s('id')) { 
    $id = $_GET["id"]; 
} else { 
    $id = 'nil'; 
} 

if (s('offer')) { 
    $offer = $_GET["offer"]; 
} else { 
    $offer = 'nil'; 
} 

if (s('session')) { 
    $session = $_GET["session"]; 
} else { 
    $session = 'nil'; 
} 

if (s('payout')) { 
    $payout = $_GET["payout"]; 
} else { 
    $payout = 'nil'; 
} 

function s($name) { 
    if(isset($_GET["$name"]) && !empty($_GET["$name"])) { 
     return true; 
    } 
    return false; 
} 
+0

您可以通過充分'GET'循環,像'的foreach($ _ GET爲$名=> $值)'。 '$ name'將成爲索引。有了這種方法,你應該首先初始化所有的變量爲空(或'nil')。 – chris85

回答

0

也許你可以使用一個通用包裝

<?php 
    function getValue($key, $fallback='nil') { 
     if(isset($_GET[$key]) $val = trim($_GET[$key]); 
     else $val = null; 
     return ($val) ? $val : $fallback; 
    } 

,然後你可以通過

 <?php 
      $id = getValue('id'); ... 
+0

有沒有一種方法可以通過url(解析)求出變量? – Benjamin

+0

@Benjamin是'GET'中的數據還是URL是一個字符串? – chris85

0

isset處理它easyer是不需要的,也許你可以使用三元運營商。

$id = !empty($_GET["id"]) ? $_GET["id"] : null; 
$offer = !empty($_GET["offer"]) ? $_GET["offer"] : null; 
$session = !empty($_GET["session"]) ? $_GET["session"] : null; 
$payout = !empty($_GET["payout"]) ? $_GET["payout"] : null; 
相關問題