2012-03-21 103 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