需要有关PHP GET代码的帮助


Need help on PHP GET code

现在我正在使用这段代码来获取URL中的一个变量:

<?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';
}
?>

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

谢谢你的帮助。

利用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';
}
?>

只是为了确保它们都已设置,而不是空

$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 ;
...

您可以进行循环

<?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'];