Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP注意:未定义变量,但它们已经定义_Php_Variables_Undefined - Fatal编程技术网

PHP注意:未定义变量,但它们已经定义

PHP注意:未定义变量,但它们已经定义,php,variables,undefined,Php,Variables,Undefined,在我的PHP脚本中,我在未定义的\u hostfile中得到了错误变量$command\u 我们班有两个函数 在第一个函数中,我返回一个数组($command\u In_hostfile)以在另一个函数中使用它 然而,我得到错误“变量未定义”,我不明白为什么。有人能帮我纠正这个错误吗 代码: include_once('service_function.php'); if(isset($_POST['edit_cfg_file'])) { $Host = new Host; $

在我的PHP脚本中,我在未定义的\u hostfile中得到了错误
变量$command\u

我们班有两个函数

在第一个函数中,我返回一个数组(
$command\u In_hostfile
)以在另一个函数中使用它

然而,我得到错误“变量未定义”,我不明白为什么。有人能帮我纠正这个错误吗

代码:
include_once('service_function.php');

if(isset($_POST['edit_cfg_file']))
{
    $Host = new Host;
    $Host->write_hostfile();        
}

public $command_in_hostfile = array();

class Host
{
    public $command_in_hostfile = array();

    function read_services()
    {   
        ...
        $command_in_hostfile[0] = array_merge($command_in_hostfile[0]);
        $command_in_hostfile[1] = array_merge($command_in_hostfile[1]);
        return($command_in_hostfile);
    }

    function write_hostfile()
    {
        foreach($command_in_hostfile[0] as $key=>$value)
        {
        $checkcommand[$key] = "check_command ".$value."!".$value2_converted."\n";
        }   
    }
}
?>
尝试使用$this->

$command_in_hostfile = array();

class Host
{
    public $command_in_hostfile = array();

    function read_services()
    {   
        ...
        $this->command_in_hostfile[0] = array_merge($command_in_hostfile[0]);
        $this->command_in_hostfile[1] = array_merge($command_in_hostfile[1]);
        return($this->command_in_hostfile);
    }

    function write_hostfile()
    {
        foreach($this->command_in_hostfile as $key=>$value)
        {
        $checkcommand[$key] = "check_command ".$value."!".$value2_converted."\n";
        }   
    }
}

$this->hostfile[0]中的命令\u
。您需要学习正确的OOP语法。另外,您在这里实际要做什么?我尝试在函数read_services()中读取数组的值,将它们写入输出文件。为什么我需要“$this->”变量不在同一个函数中?