我可以在类变量中添加没有分配值的PHP数组键吗?

时间:2020-03-06 15:04:20  来源:igfitidea点击:

我目前正在研究关于CakePHP的IBM教程

在某一时刻,我遇到了这段代码:

<?php
class Dealer extends AppModel {
    var $name = 'Dealer';
    var $hasMany = array (
        'Product' => array(
            'className' => 'Product',
            'conditions'=>, // is this allowed?
            'order'=>, // same thing here
            'foreignKey'=>'dealer_id'
        )
    );
}
?>

运行它时,出现以下错误消息:"解析错误:语法错误,意外的','在第7行的/Applications/MAMP/htdocs/cakephp/appphp/apps/models/product.php中"

我在PHP上是n00b,所以我的问题是:是否可以使用没有指定值的键组成数组?有人玩过这个tut,知道怎么了吗?

解决方案

这是合法的,尽管据我所知,我们必须通过为其分配null来明确表示它为"空",

$hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null, // is this allowed?
'order'=> null, // same thing here
'foreignKey'=>'dealer_id'));

我们提供的示例听起来很错误,可能不应该这样做,因为事实并非如此。

将值分配为null,而不遗漏任何内容。手册说

isset() will return FALSE if testing a variable that has been set to NULL
<?php
class Dealer extends AppModel
{
var $name = 'Dealer';
var $hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null,
'order'=> null,
'foreignKey'=>'dealer_id')
);
}
?>

这很好。