2013-11-20 4 views
0

Сейчас я использую этот код, чтобы захватить переменную в моем URL:Нужна помощь по 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'; 
} 

?> 

Или есть более эффективный способ, чтобы объединить их все в один код?

Спасибо за помощь.

+0

Вы пробовали? – Fredd

+0

Объедините их все в один блок ''. – j08691

+0

Вы можете использовать что-то вроде '$ transaction_id3 = ($ _GET ['transaction_id3']! =" ")? $ _GET ['transaction_id3']: 'NA'; 'вместо назначения переменной, а затем проверить – Razorphyn

ответ

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

Может быть '$ transaction_id3 = (isset ($ _ GET ['transaction_id3']) &&! Empty ($ _ GET ['transaction_id3']))? $ _GET ['transaction_id3']: 'NA'; '? – Razorphyn

+0

if ($ _ GET ['transaction_id'] == "") это не сработает. –

1

Хусто, чтобы убедиться, они все являются выставиться и не пусто

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

вы могли бы сделать для петли

<?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] 
     } 
    } 
?> 

Этот создаст массив идентификаторов транзакций или NA

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

Я не знаю, является ли это лучшей практикой или нет, может быть, это просто по-другому. Надеюсь, это поможет.

P.S. , вам необходимо будет изменить свой первый $_GET['transaction_id']; на $_GET['transaction_id1'];

Смежные вопросы