繁体   English   中英

如何在php中的公共静态函数之外声明一个变量?

[英]how do I declare a variable outside a public static function in php?

我试图在 PHP 中的公共类之外声明一个变量,但由于某种原因,它不起作用。

这是我的代码

$catID = '33234532';

    public static function saveFile($name, $catID){
    $name = 'catid_' . $catID . time() . '_' . '.' . pathinfo(saveFiles:sanitizeFileName($name), PATHINFO_EXTENSION);
    ... rest of my code
    }

现在,当我保存文件时,我得到了 catid__1487393557.png,它完全忽略了 $catID。

现在,当我在下面执行此操作时,它会输出正确的内容。

    public static function saveFile($name, $catID){
    $catID = '33234532';

    $name = 'catid_' . $catID . time() . '_' . '.' . pathinfo(saveFiles:sanitizeFileName($name), PATHINFO_EXTENSION);
    ... rest of my code
    }

这输出这个: catid_33234532_1487393557.png

您可以尝试使用全局变量在函数外声明变量

首先,您的代码中可能有相同的变量名。 当您的代码执行它时,它会从函数参数中获取 $catID 的值。

其次,当您要在函数中调用它时,您需要将变量称为全局变量。 类似以下...

$catID = '33234532';
function saveFile($name){
   echo 'catid_' . $GLOBALS['catID'];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM