是否可能在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>';
}
谢谢。
答案 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'].'>';