I have the following code in part of a loop:
$max = $players->max();
Important parts of players class:
class Players extends dynamicTable {
var $setup;
var $lid;
var $size;
var $max;
var $data;
var $data_result;
var $data_index;
var $player_stats_result;
var $player_stats_data;
var $player_stats_index;
var $player_stats_start;
var $player_type_result;
function Players($lid) {
global $prefix, $db;
/*
* Find max size of rows
*/
$this->lid = $lid;
$this->max=0;
echo "$this->index";
$result = $db->sql_query("select * from " . $prefix .
"_league_games_setup where lid = $lid");
while (($rows = $db->sql_fetchrow($result))) {
$c=0;
for ($i=3; $i < 23; $i++) {
if ($rows[$i] != "")
$c++;
}
if ($c > $this->max)
$this->max = $c;
}
$this->index = 3;
}
function max() {
return ($this->max);
The most important part of this code to me is:
$this->index = 3;
It is important that this is reset to 3 for the rest of the loop to work
properly.
In PHP4, $this->index is reset to 3 each time the loop happens, but in
PHP5 it is not.
It appears that after the first loop, PHP5 seems to "remember" the value
of $this->max and therefore does not enter the Players function to set
$this->index = 3. I have run through the script with a debugger, and sure
enough, we only enter function Players once.
Is this normal behaviour for PHP5 vs PHP4?
Is there a way for me to force $this->max to be calculated each time
function max is called?
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php