2012-03-21 92 views
-3

我有以下問題:如何捕捉變量中的狀態?

我尋找一個變量來處理來自fetch_object。該表的標準值將由if子句進行更改。在進一步的代碼中,我需要處理兩個狀態屬性,以便我需要知道如何從switch子句中獲取一個或多個變量?

我需要的東西,如:

$row = $query->fetch_object(); 
    $Status = $row->Status; 
     $1 = switch($Status){case "1"}; 
     $2 = switch($Status){case "2"}; 

還是有意識到另一種方式?似乎開關是最早獲得地位的方法,不是嗎?非常感謝。

+1

你可以將它轉換爲(INT)$狀態 – 2012-03-21 06:22:19

+0

你不「需要的是這樣的」,因爲這並不能真正使任何意義。你真的想做什麼? – deceze 2012-03-21 06:38:40

+0

我有一個表,我從中獲取不同的狀態類型。我用它們來查找用戶具有的特定狀態。如果用戶具有例如狀態s1,則他不被允許進行輸入或另一個例子,他不能看到什麼。這些數據我不會存儲到會話中。 – John 2012-03-21 06:42:42

回答

1
$row = $query->fetch_object(); 
$Status = $row->Status; 

switch($Status){ 
    case "1" : 
     // do something for case "1" 
     break; 
    case "2" : 
     // do something for case "2" 
     break; 
    default : 
     // 
} 

這可以幫助你嗎?

修改後的代碼:

$row = $query->fetch_object(); 
$Status = $row->Status; 

if($query->num_rows){ 
    if($Status == "S1"){ 
     // status 1 
    } 
    else { 
     // status 2 
    } 
} 
+0

不,因爲我需要像<?php if(isset($ S1)):?>來隱藏或顯示某些內容。 – John 2012-03-21 06:55:48

+0

我明白了。如果是這樣,那麼你可以簡單地說'$ Status = $ row-> Status; $ S =「S $狀態」; $$ S =「yes」;'如果Status = 1,那麼會導致$ S1 =「yes」,如果Status = 2,則導致$ S2 =「yes」。但是我認爲這不是有效的方法! – safrazik 2012-03-21 07:05:23

+0

什麼會是更好的方式來做到這一點? thx – John 2012-03-21 07:10:15