sbrbot
sbrbot

Reputation: 6447

Dynamically loop through and set PHP class variables

I have a class with several variables like:

class ABC
{
  $var1=0;
  $var2=0;
  ...
}

Instead of setting variables one by one like;

$ABC=new ABC();
$ABC->var1=1;
$ABC->var2=1;
...

How to loop through all class' (instance) variables and dynamically set them all to some value.

Upvotes: 0

Views: 815

Answers (1)

rsahai91
rsahai91

Reputation: 447

You could use get_object_vars to get the non static properties of the object, and then loop through that.

$object_vars = get_object_vars($ABC);

foreach ($object_vars as $name => $value) {
    $ABC->{$name} = $newVal;
}

See more information here: http://php.net/manual/en/function.get-object-vars.php

Upvotes: 3

Related Questions