itamar
itamar

Reputation: 1940

PHP: how to pass an Array to object's member function?

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

Answers (2)

KingCrunch
KingCrunch

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

alex
alex

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

Related Questions