Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中执行if和else两个条件_Php - Fatal编程技术网

在PHP中执行if和else两个条件

在PHP中执行if和else两个条件,php,Php,为什么在if($flw){…} 执行程序的内部if条件后,else条件也在执行 这就是我正在使用的类 class follow extends \Thread{ public $follow; public $query; public function connect(){ $my = new \mysqli(SQLHOST, SQLUSER, SQLPASS, SQLDB); return $my; } public function run(){} /*********

为什么在
if($flw){…}

执行程序的内部
if
条件后,
else
条件也在执行

这就是我正在使用的类

class follow extends \Thread{

public $follow;
public $query;

public function connect(){
   $my = new \mysqli(SQLHOST, SQLUSER, SQLPASS, SQLDB);
   return $my;
}

public function run(){}

/*****************************************
*sql queries  related to follow system   *
*@param $x follower $y following         *
******************************************/

public function followSql($x, $y){

    $this->query = array(


        'follow' => "INSERT INTO follow(userid, following) VALUES('$x','$y')",

        'unfollow' => "DELETE FROM follow WHERE userid ='$x' AND following='$y'",

        'following' => "SELECT followid FROM follow WHERE userid='".$x."' AND following='".$y."'"
    );

    return $this->query;
}

/*****************************
*  to follow user            *
*  @param $query sql query   *
*****************************/
public function followDoUndo($q){

    try{

        if($this->connect()){

         mysqli_query($this->connect(), $q);
        }
    }catch(Exception $ex){
        var_dump($ex);
    }
}

/***********************************
*  to show user folllowing or not  *
*  @param $query sql query         *
************************************/
public function following($q){

    try{

        if($this->connect()){

            $result = mysqli_query($this->connect(), $q);

            if (is_object($result)) {
                    if(mysqli_num_rows($result)>0)

                        $this->follow = TRUE;
            }
         return $this->follow;

        }


}catch(Exception $ex){
            var_dump($ex);
        }
    }
}



if($_SERVER["REQUEST_METHOD"] == "POST" ){

    $flw = $_POST["flw"];
}



if($flw){
    if($follow->following($follow->followSql($uid,$ud)['following'])){
        $follow->followDoUndo($follow->followSql($uid,$ud)['unfollow']);
        $showText = "+ follow";
    }
    else{
        $follow->followDoUndo($follow->followSql($uid, $ud)['follow']);
        $showText = "following";
    }   
}

总的来说,你可以简单地说:内在的他者不是父母的他者。这是为了兄弟姐妹

不是因为if和else正在执行。这是因为您两次调用该函数,并检查您在else语句(第一次调用)中更改的值,使您在第二次调用中陷入if语句。我已添加了完整的代码,请看@jDo@hassanraza酷。我明白了,我也得到了答案:)但在成为孩子后,如果是真的,程序应该终止,但它会变成其他条件,为什么??@hassanraza,这是不可能的。请一步一步地放一些硬编码的回音,看看发生了什么
if (something) { //The parent IF

  if (something else) { //The child IF
    //do something
  }

  else { //Runs when the child IF is not true.
    //do another
  }

}