Могу ли я добавить ключ массива PHP без назначенного значения в переменной класса?

StackOverflow https://stackoverflow.com/questions/166615

  •  03-07-2019
  •  | 
  •  

Вопрос

В настоящее время я пробираюсь через Учебное пособие IBM по CakePHP

В какой-то момент я наткнулся на этот фрагмент кода:

<?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'
        )
    );
}
?>

Когда я запускаю его, я получаю следующее сообщение об ошибке: " Ошибка разбора: синтаксическая ошибка, неожиданная ',' в /Applications/MAMP/htdocs/cakephp/app/models/product.php в строке 7 "

Я n00b в PHP, поэтому мой вопрос: разрешено ли создавать массив с ключами без присвоенных значений? Кто-нибудь играл с этим тут и знает, что случилось?

Это было полезно?

Решение

Назначьте значение null вместо того, чтобы что-то пропустить. В руководстве говорится

  

isset () вернет FALSE, если тестирует переменную, для которой установлено значение NULL

<?php
class Dealer extends AppModel
{
var $name = 'Dealer';
var $hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null,
'order'=> null,
'foreignKey'=>'dealer_id')
);
}
?>

Это отлично работает.

Другие советы

Это законно, хотя, насколько мне известно, вы должны явно сказать, что он «пустой», присвоив ему значение null,

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

Пример, который вы привели, звучит очень неправильно, и, вероятно, не должен работать, поскольку это не так.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top