PHP:如何将Array传递给对象的成员函数?

时间:2011-10-11 09:14:15

标签: php arrays object

有没有办法将数组传递给成员函数? 我试过这段代码:

class Testing
{
   public function set($arr)
   { 
      echo $arr['key'];
   }
}

但是我收到了这个错误:未定义的索引(键)

2 个答案:

答案 0 :(得分:4)

您可以传递数组,就像您完成的那样。

问题是,您传递的数组没有key键的成员。

您可以通过在参数签名中的参数前放置前面的Array来强制传递数组。

public function set(Array $arr) { ... } 

您还可以检查使用isset()array_key_exists()设置的数组键,后者适用于NULL值的键。

答案 1 :(得分:1)

将数组传递给方法,就像将任何其他类型传递给方法一样

$o = new Testing;
$array = array('key' => 'Hello World');
$o->set($array);

在您看来,您的数组似乎无效(=>它没有名为“key”的键)。