如何删除受保护阵列中的数组?

时间:2018-06-03 17:50:50

标签: php arrays laravel-5

我的数据返回如下:

Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [admin] => Admin
            [user] => User
            [abcd] => Abcd
        )

)

我想在上面的结果中删除admin数组。我试过这种方式unset($data->items->admin)获取错误消息Property [items] does not exist on this collection instance.

1 个答案:

答案 0 :(得分:1)

受保护是一种可见性权限集。 http://php.net/manual/en/language.oop5.visibility.php

从错误的外观看起来你忘了扩展子类。

以下是您尝试做的一个示例。     

class a{
    protected $b;
    function __construct(){
        $this->b = Array('test'=>Array());
    }
}

class b extends a{
    function __construct(){
        parent::__construct();// construct extended class
        out($this->b); //returns Array ( [test] => Array ( ) ) 
        unset($this->b['test']);
        out($this->b); // returns Array ( )
    }
}

function out($arr){ // function to output text
    echo "<pre>";
    print_r($arr);
    echo "</pre>";
}

$b_test = new b();