PHP函数返回不起作用

时间:2013-10-26 11:43:29

标签: php

我正在编写工作代码,通过telnet连接元素以获取一些配置选项。对于一个函数我有问题,因为它没有返回我期望的值。这是代码:

function checkLogin ($element, &$handle, $lastElement, $node=null, &$error=null) {
    $ip = "127.0.0.1";
    $port = "31";
    include('query.php');

    if($serverip[$element]!==$serverip[$lastElement]){
        if($handle) {fclose($handle);}
        $handle = fsockopen($ip, $port, $error, $errstr, 10);
    }
    if (!$handle) { $error="Can't connect to server: ".$ip; return false;}
    else {
        if($element!==$lastElement){
            if(is_null($node)) {$loginElement=$element;}
            else {$loginElement=$node;}

            $out="req ne:name=".$loginElement;
            $error=query($handle,$out);
            if($error[0]!=0) {return false;}
            echo "first\n";
        }
        echo "second\n";
    }
    echo "third\n";
    return true;
}

如果一切都是okey,函数返回true,我可以看到:     第一     第二     第三

但是当error [0] == 1时,函数仍然返回true,我可以看到这样的东西:     第二     第三

你知道会出现什么问题吗?

1 个答案:

答案 0 :(得分:1)

如果$element === $lastElement永远不会调用return false语句。你的输出将是

second
third

在那种情况下。