需要有关PHP GET代码的帮助

时间:2013-11-20 17:05:58

标签: php get

现在我正在使用此代码来获取我的网址中的变量:

<?php

$transaction_id = $_GET['transaction_id'];

if($transaction_id == "") {
$transaction_id = 'NA';
}

?>

到目前为止,我只抓住了那个单一变量,但现在我需要总共获取5个变量。如果我只是将多个代码复制并粘贴到彼此旁边,那么一切都能正常运行并快速顺畅地运行:

<?php

$transaction_id = $_GET['transaction_id'];

if($transaction_id == "") {
$transaction_id = 'NA';
}

?>
<?php

$transaction_id2 = $_GET['transaction_id2'];

if($transaction_id2 == "") {
$transaction_id2 = 'NA';
}

?>
<?php

$transaction_id3 = $_GET['transaction_id3'];

if($transaction_id3 == "") {
$transaction_id3 = 'NA';
}

?>

或者是否有更有效的方法将它们组合成一个代码?

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

使用 isset() 构造

<?php
if(!isset($_GET['transaction_id'])) {
$transaction_id = 'NA';
}
if(!isset($_GET['transaction_id2'])) {
$transaction_id2 = 'NA';
}
if(!isset($_GET['transaction_id3'])) {
$transaction_id3 = 'NA';
}
?>

答案 1 :(得分:0)

确保他们都被设置而不是空的

$na = 'NA';    

$transaction_id = (isset($_GET['transaction_id']) && $_GET['transaction_id'] != '') ? $_GET['transaction_id'] : $na ;
$transaction_id2 = (isset($_GET['transaction_id2']) && $_GET['transaction_id2'] != '') ? $_GET['transaction_id2'] : $na ;
...

答案 2 :(得分:0)

你可以做一个for循环

<?php 
    $transaction_id = array();
    for($i=1;$i<6:$i++){
        if( $_GET['transaction_id'.$i] == "") {
            $transaction_id[] = 'NA'
        }else{
            $transaction_id[] = $_GET['transaction_id'.$i]
        }
    }
?>

这将生成一系列事务ID或NA

[0] => NA
[1] => 12345
[2] => 67890
[3] => 23454
[4] => NA
[5] => 55422

我不知道这是不是更好的做法,也许它只是一种不同的方式。 希望它有所帮助。

P.S。 您必须将第一个$_GET['transaction_id'];更改为$_GET['transaction_id1'];