当我使用时,我的代码中出现此错误$this->
致命错误:无法访问第 21 行 /home/u506382626/public_html/s1/arrays.php 中的空属性
我虽然这就是您访问当前对象变量的方式,不是吗?
这是我的代码。我正在尝试为每个索引创建一个具有更大值的数组,但我使用函数而不是索引。是否可以在 php 中重载 operator[] 以及如何做到这一点?
希望有人知道是什么问题。
<?php
class zArray {
public $change = 1.165;
public $lenght;
private $vars = array();
public $name;
public $percent = false;
public function __construct($values) {
for ($i=0; $i < 5; $i++) {
$vars[$i] = $values[$i];
}
$lenght = $values[5];
$name = $values[6];
$percent = $values[7];
}
public function at($i) {
$newchange = $this->$change;
for ( $i-- ; $i; $i-- )
$newChange *= $this->$change;
$newVars = $this->$vars;
for ($i = 0; $i < 4; $i++) {
$newVars[$i] *= $newChange;
}
if ($percent) $newVars[4] /= $newChange;
else $newVars[4] *= $newChange;
return $newVars;
}
};
$buildings = array(
new zArray(85, 70, 65, 2, 100, 'Castle', true)
);
$try = $buildings[0]->at(3);
?>