麻烦if语句

时间:2011-09-28 12:37:35

标签: php

我是菜鸟,所以请耐心等待 我必须测试一个数组,以便检查它是否存在并查看其中的数字是否正常。 在每种情况下都必须输出一条消息......例如......如果数组已满并且数字正常,我应该得到一条消息(数组已满,Num可以)。但我使用If之后If和我陷入困境因为......好吧......自己看看。

    public static function getTest($ids){       
        $input_result = array();
        foreach ($ids as $id) {
            $input_result['result']['Id '.$id] =  $id;
        }
        if((!empty($ids))){
            //echo "You have inputted some data in the Api_Books_Book::getTest<br/>";
            $input_success = "Successful!";
            $input_message = "Array OK";                                
        }
        else
        {
            //echo "There is no data<br/>";
            $input_success = "Not Successful";
            $input_message = "Have inputed anything in the array?";
        }              
        if(okNum($ids)) {
            //echo "You have inputted some data in the Api_Books_Book::getTest<br/>";
            $input_success = "Successful!";
            $input_message = "numbers OK";
        }
        else {
            //echo "There is no data<br/>";
            $input_success = "Not Successful";
            $input_message = "numbers not OK";
        }
        $result=array('status'=>$input_success,'message'=>$input_message,'result'=> $input_result);

        rdie($result);
        return $result;
   }

2 个答案:

答案 0 :(得分:1)

乍一看,您似乎在此代码之前错过了else

    {
        //echo "There is no data<br/>";
        $input_success = "Not Successful";
        $input_message = "Have inputed anything in the array?";
    }          

答案 1 :(得分:1)

        if((!empty($ids))){
        //echo "You have inputted some data in the Api_Books_Book::getTest<br/>";
        $input_success = "Successful!";
        $input_message = "Array OK";                                
        }
        {
        //echo "There is no data<br/>";
        $input_success = "Not Successful";
        $input_message = "Have inputed anything in the array?";
        } 

这看起来像你的问题(虽然你实际上没有告诉我们你遇到了什么问题)。 以上不是别的,所以“不成功”代码将始终运行。

你还应该注意if(okNum($ ids))的结果将擦除你之前设置$ input_success的值。

如果没有看到okNum方法很难说,但如果数组为空,它看起来会返回true。