Reputation: 1940
is there a way to pass an array to a member function? i tried this code:
class Testing
{
public function set($arr)
{
echo $arr['key'];
}
}
but i got this error: Undefined index (key)
Upvotes: 0
Views: 268
Reputation: 131881
You pass an array to a method, like you pass any other type to a method
$o = new Testing;
$array = array('key' => 'Hello World');
$o->set($array);
In your case it seems, that your array is just invalid (=> it doesn't have a key named "key").
Upvotes: 1
Reputation: 490233
You can pass an array, just like how you have done.
The problem is, the array you passed does not have a member with the a key of key
.
You can enforce passing an array by placing a preceding Array
before the argument in the argument signature.
public function set(Array $arr) { ... }
You can also check for an array key being set with isset()
or array_key_exists()
, the latter which works with keys with the NULL
value.
Upvotes: 4