Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access array values inside class object?

I have a array like this in a function:

$value = array("name"=>"test", "age"=>"00");

I made this $value as public inside the class abc.

Now in my other file, I want to access the values from this array, so I create an instance by:

$getValue = new <classname>;
$getValue->value..

I'm not sure how to proceed so that then I can access each element from that array.

like image 358
JDesigns Avatar asked Aug 25 '11 20:08

JDesigns


3 Answers

You mentioned that $value is in a function, but is public. Can you post the function, or clarify whether you meant declaring or instantiating within a function?

If you're instantiating it that's perfectly fine, and you can use the array keys to index $value just like any other array:

$object = new classname;
$name = $object->value["name"];
$age = $object->value["age"];

// Or you can use foreach, getting both key and value
foreach ($object->value as $key => $value) {
    echo $key . ": " . $value;
}

However, if you're talking about declaring public $value in a function then that's a syntax error.

Furthermore if you declare $value (within a function) without the public modifier then its scope is limited to that function and it cannot be public. The array will go out of scope at the end of the function and for all intents and purposes cease to exist.

If this part seems confusing I recommend reading up on visibility in PHP.

like image 166
Rob Avatar answered Oct 22 '22 03:10

Rob


The same as you would normally use an array.

$getValue = new yourClass();
$getValue->value['name'];
like image 2
Ashley Avatar answered Oct 22 '22 02:10

Ashley


Use code

foreach($getValue->value as $key=>$value)
like image 1
Andrej Ludinovskov Avatar answered Oct 22 '22 02:10

Andrej Ludinovskov