PHP,可能从变量作为数组返回字符串到index.php吗?

时间:2019-04-22 10:59:03

标签: php arrays function return

是否可能在PHP返回数组中作为从函数到主站点的变量,例如index.php?我有删除目录的功能,我需要将$ message数组变量中的发送/返回字符串发送到主页上的同一变量。

功能是:

function removedir($path){

    if(!file_exists($path)){
        $message = array('Adresář neexistuje.','0');
    }
    elseif(!is_writable($path)){
        $message = array('Adresář nemá práva pro zápis.','0');
    }
    else{
        $files = glob($path . '/*');
        foreach ($files as $file){
            is_dir($file) ? removeDirectory($file) : unlink($file);
        }
        rmdir($path);
        $message = array('Adresář byl vymazán.','1');
    }
    return $message;
    echo $message;
}

并且index.php主页面应该在主站点上显示消息:

if(isset($message[1])=='1'){
    echo '<message1>'.isset($message[0]).'</message1>';
} elseif(isset($message[1])=='0'){
    echo '<message0>'.isset($message[0]).'</message0>';
}

谢谢。

1 个答案:

答案 0 :(得分:-1)

是的,有可能。除此之外,我建议您不要返回顺序数组,而是返回类似['fileExist' => true, 'message' => "whatever"]的关联数组,这会使函数变得更加直观。

*返回后删除回声

更新:我建议您做这样的事情,因为为这样的函数返回一个关联数组会使代码非常脏:

    function removedir($path){

    if(!file_exists($path)){
        return ['message' => 'Adresář neexistuje.', 'messageCode' => 0];
    }
    elseif(!is_writable($path)){
        return ['message' => 'Adresář nemá práva pro zápis.', 'messageCode' => 0];
    }
    else{
        $files = glob($path . '/*');

        foreach ($files as $file){
            is_dir($file) ? removeDirectory($file) : unlink($file);
        }

        rmdir($path);

        return ['message' => ('Adresář byl vymazán.', 'messageCode' => 1];
    }
}

 ......

echo '<message'.$message['code'].'>'.isset($message['code']).'</message'.$message['code'].'>';