我有两个类即foo的&酒吧 class bar extends foo
{
public $element = null;
public function __construct()
{
}
}
和Foo类竟把 class foo implements ArrayAccess
{
private $data = [];
p
我试图了解背后ArrayAccess接口界面的想法, 我不明白每一种方法是一下,如果这些方法(函数)是“内置”的功能和ArrayAccess接口接口(也“内置”)只是“确保”我要实现那些“内置”方法(功能) 我想了解每个thoes函数是在用我们的代码“幕后” 。 function offsetSet($offset, $value);
function offsetGet($offset);
我的情况下是我有一个项目的价格的范围千克的访问数组值,像 price in range 0.01-0.04 is 5
price in range 0.05-0.09 is 30
price in range 0.1-0.15 is 50
这里是阵列的样品等我想 $prices = array("0.01-0.04"=>5,"0.05-0.09"=>30);
现在我想做一个数组,所以当
当实现使用ArrayAccess或ArrayObject对象,对一些操作这是一个完全正常的阵列(例如一foreach()语句)。然而,其他人却不那么容易被愚弄,并且仍然抱怨这是一个对象: [E_WARNING] call_user_func_array() expects parameter 2 to be array, object given
这让我感到无情。有人能解释这背后的推理吗?有没