如果仍然返回错误的数组

时间:2019-01-13 17:34:45

标签: php

我正在处理脚本,该脚本必须删除temp。邮件用户,但是if()仍在激活array_push

我在Windows 7,php 7上使用最新的xampp。 我已经尝试过用较少量的||something..并进行更改的if()

if($emdomain ==  "google.com" || "gmail.com") {
       array_push("google domain");
   } else {
        array_push("not google domain");
   }

if($emdomain !=  "google.com" || "gmail.com") {
         array_push("not google domain");
    } else {
        array_push("google domain");
    }

但是不行。

if($emdomain ==  "google.com" || "gmail.com") {
        array_push("google domain");
    } else {
         array_push("not google domain");
    }

我每次都获得“ Google域”,因此我可以使用yahoo.com,alzashop.com等任何内容,而我也获得“ Google域” 知道为什么

2 个答案:

答案 0 :(得分:1)

如果$emdomain == "google.com"为真值,则if将为真。

否则,如果gmail.com"为真值,则if将为真。字符串"gmail.com" 总是是真实值。

大概您要运行的测试是:

if ($emdomain == "google.com" || $emdomain == "gmail.com")

答案 1 :(得分:1)

基本语法错误,您的

<?php
    require("../libs/cpaneluapi.class.php");

    class CpanelUAPIOperation {
        private $cpanelCred = array("url"=>"localhost","port"=>2087,"user"=>"cpanelUser", "pwd"=>"cpanelPwd");
        private $dbUser = array("userName"=>"dbUser","pwd"=>"dbpwd");
        private $cpanel;

        public function __construct(){
            $this->cpanel = new cpanelAPI($this->cpanelCred['user'], $this->cpanelCred['pwd'], $this->cpanelCred['url']); //instantiate the object
        }
        
        public function createDB($dbName, $crud){
            $dbNameInCPanel = $this->cpanelCred['user']."_".$dbName;
            $createDB = $this->cpanel->uapi->Mysql->create_database(array('name' => $dbNameInCPanel)); //Create the database
            if($createDB){
                 $databaseuser = $this->cpanelCred['user']."_".$this->dbUser['userName'];
                 // Assign the user to have access to the database.
                 $access = $this->cpanel->uapi->set_privileges_on_database(array('user' => $databaseuser, 'database' => $dbNameInCPanel, 'privileges' => 'ALL'));
                 if($access){
                     $crud->switchDB($dbNameInCPanel);
                     return true;
                 }
            }   
            return false;
        }
    }
?>

实际上等于:

if($emdomain ==  "google.com" || "gmail.com") 

然后,(任何||“ gmail.com”)都将给出if(($emdomain == "google.com") || "gmail.com") ,因为字符串是True作为布尔值。
这就是为什么它每次都会为您带来第一价值的原因。

您想做的是:

True