Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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
如何从PHP7中的数组中获取元素?_Php_Arrays - Fatal编程技术网

如何从PHP7中的数组中获取元素?

如何从PHP7中的数组中获取元素?,php,arrays,Php,Arrays,我有下一个代码,我想做的是保存并加载数组中元素的数量,并在我声明的函数中显示它们,但在我声明函数中的构造函数foreach之后,我出现了下一个错误 注意:未定义变量:$COMPLETE\u NAME 但是,如果我在函数save中声明了相同的foreach,我会得到正确的结果 <?php class Person{ public $name; public $lastName; public function save($name, $lastName){

我有下一个代码,我想做的是保存并加载数组中元素的数量,并在我声明的函数中显示它们,但在我声明函数中的构造函数foreach之后,我出现了下一个错误

注意:未定义变量:$COMPLETE\u NAME

但是,如果我在函数save中声明了相同的foreach,我会得到正确的结果

<?php

class Person{

    public $name;
    public $lastName;

    public function save($name, $lastName){

        $COMPLETE_NAME = array(
            "NAME" => $name,
            "LAST_NAME" => $lastName
        );
    }

    public function show(){
        foreach($COMPLETE_NAME as $list){
            echo $list;
        }
    }

}

$person = new Person();
$person->save("nameX", "last nameX");
$person->save("nameY", "last nameY");
$person->show();
?>

这是一个范围问题,而且在覆盖数组时,您也会丢失第二个名称

<?php

class Person{
    // define the property as an array
    public $names = [];


    public function save($name, $lastName){
        // use $this to access the property
        // also use [] as you call this more than once

        $this->names[] = ["name" => $name,"lastname" => $lastName];
    }

    public function show(){
        // foreach over outer array
        foreach($this->names as $name){
            // echo from the inner array
            echo $name['name'] . ' ' . $name['lastname'];
        }
    }

}

$person = new Person();
$person->save("nameX", "last nameX");
$person->save("nameY", "last nameY");
$person->show();
?>

与所有PHP版本相同,使用:
$this->COMPLETE\u NAME
范围问题