看来我错过了PHP中关于数组的重要内容。PHP:在关联数组中使用变量?
有什么不对的:
var $condition = array('Status.name = ' => 'PUBLISHED');
var $paginate = array('conditions' => $condition);
这工作得很好:
var $paginate = array('conditions' => array('Status.name = ' => 'PUBLISHED'));
看来我错过了PHP中关于数组的重要内容。PHP:在关联数组中使用变量?
有什么不对的:
var $condition = array('Status.name = ' => 'PUBLISHED');
var $paginate = array('conditions' => $condition);
这工作得很好:
var $paginate = array('conditions' => array('Status.name = ' => 'PUBLISHED'));
为什么var
关键字?通常你不需要这个 - 除非这些是对象上的字段?如果是这样,你将需要使用$ this来引用它们。其中一个下面的例子应该为你工作:
$condition = array('Status.name = ' => 'PUBLISHED');
$paginate = array('conditions' => $condition);
或
var $condition = array('Status.name = ' => 'PUBLISHED');
var $paginate = array('conditions' => $this->condition);
没有看到更多的代码,这是我很难用哪一个适用于您肯定地说和/或如果这将解决您的问题。希望它指出你在正确的方向。
var关键字用于声明类成员变量,不适用于非类变量。
PHP中支持var关键字,虽然不推荐使用。
但对于VAR关键词,一切正常,我们看到下面的,当我们转储PAGINATE阵列:
array(1) {
["conditions"]=>
array(1) {
["Status.name = "]=>
string(9) "PUBLISHED"
}
}
对于我来说,这两个不工作。但是,当我从变量中删除var关键字时,两者都可以很好地工作。 Var关键字用于php4。
var
部分表明我正在定义一个类。在这种情况下,你不能用另一个的内容初始化一个对象变量;你只能用常量(包括数组)来初始化它们。
<?php
class test {
var $test1 = array('test_11' => 10);
var $test2 = array('test21' => $test1); // Error
}
?>
如果您需要初始化另一个变量的内容,请使用构造函数。
<?php
class test {
function test() {
$this->test1 = array('test_11' => 10);
$this->test2 = array('test21' => $this->test1);
}
}
?>
你得到一个错误,或什么不工作? – poke 2009-12-23 10:57:45
你忘记描述代码的上下文了;它可以很容易地从你写的内容中猜出来,但它仍然是一个猜测。如果您明确表示您是否在报告班级代码,那本来会更好;不同的是,你会得到很多答案,告诉你代码不正确。 – kiamlaluno 2009-12-23 11:11:08