2017-08-10 30 views
0

我已經設置了這個代碼,所以只要$_GET['start']是一個數字,它應該輸出鏈接(繼續),並且$start的值將增加2,每次點擊繼續如何在變量被修改後恢復其值?

問題是當$_GET['start']不是一個數字,那麼$start變量不應該被覆蓋。這意味着它應該有默認值2

我該怎麼做?

<?php 

$number=array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'j'); 
$start = 2;   
$len = isset($_GET['len']) ? (int)$_GET['len'] : 2; 
$s = isset($_GET['start']) ? (int)$_GET['start'] + 2 : 4; 
$count = count($number); 

foreach ($number as $value) {  
    print_r($value) ; 
} 

echo '<br><br>'; 

if (isset($_GET['start'])) { 
    $start = $_GET['start']; 
} 


foreach (array_slice($number, $start, $len) as $k) { 
    print_r($k); 
} 

echo '<br><br>';                  

if (is_numeric($start)) { 
    if ($start <= $count) { 
     echo '<a href="http://192.168.1.6/alpha.php?start=' . $s . '&len=2">continue</a>'; 
    } 
} 
+0

只是一個簡單的if語句,如果它是空的,則使變量數2 – MinistryofChaps

回答

1

調整你的if條件如下:

$start = 2; 

if (!empty($_GET['start']) && is_numeric($_GET['start']) && !is_float($_GET['start'])) { 
    $start = $_GET['start']; 
} 
+0

它工作,但以這種方式 if(isset($ _ GET ['start'])&& is_numeric($ _ GET ['start'])) $ start = $ _GET ['start']; – MOS

+0

調整條件以包含檢查'$ _GET ['start']'是否不是浮點數。 – localheinz

0

您需要檢查$ _GET ['start']是否爲空,如果不是,則替換該變量。否則,你可以保持原樣。

更換

if (isset($_GET['start'])) 
    $start = $_GET['start']; 

隨着

if($_GET['start']!= null){ 
    $start = $_GET['start']; 
} 
+0

現在它工作時,$ _GET ['開始']是空的我需要它以相同的方式工作,當$ _GET ['開始']是equ al到一個字母,我的意思是當$ _GET ['start']的值是一個字母時,它應該再次具有標準值? thanx – MOS