myarra-6ren">
gpt4 book ai didi

PHP 访问函数和数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:10 25 4
gpt4 key购买 nike

在 PHP 中使用 __set 访问器函数,我可以设置标量的值,但不能设置数组的元素。即:

$p->scalavar = "Hello";  // This works fine
$p->myarray['title'] = "Hello"; //This does not work

我的访问器如下:

function __set($mbr_name, $mbr_value) {
$this->$mbr_name = $mbr_value;
}

谢谢!

最佳答案

$p->myarray['title'] = "Hello"; 

这不会调用__set 魔术方法;您并没有完全设置属性,而是更改了它的一部分。在这种情况下,PHP 将调用 __get 方法来检索存储在属性 $p->myarray 中的数组(如果存在这种魔术方法)。请注意,要使返回值的更改对属性产生任何影响,您必须通过引用返回:

function &__get($mbr_name) {
return $this->$mbr_name;
}

关于PHP 访问函数和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com