Re: Static variable in a class method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Pauau schreef:
I have a class method which declares a static variable within.However, across all the instances of the class, the current value on that variable replicates. Is it the intended functionality? Example: class A { public function foo() { static $i=0; $i++; }}$obj1 = new A();$obj1->foo(); //$i = 1 $obj2 = new A();$obj2->foo(); //$i = 2 where I think it should be 1, becaue it's a new instance.

the engine doesn't give 2 hoots about what you think it should be of course.
'static' doesn't do what you think.

chances are you want to use a private instance property:

<?php
class Foo {
	private $i = 0;
	public function bar() {
		echo $this->i, "\n";
		$this->i++;
	}
}

$a = new Foo;
$b = new Foo;

$a->bar();
$a->bar();
$a->bar();

$b->bar();
$b->bar();
?>

do please read the OO sections of the manual, some functionality, although named
similarly to other languages, works quite differently - you'll avoid alot of assumption
biting you in the a$$.



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux