проблема с переменной php в массиве

#php #arrays #variables

#php #массивы #переменные

Вопрос:

что не так с этой картинкой?

 $appleVar = 'apple';
$veggie = 'carrots';

$var = array('fruit' => $appleVar, 'veggie' => ''.$carrotVar.' no carrots please');

print_r($var);
  

когда я печатаю массив, отображается только «пожалуйста, без моркови». почему?

Мне так жаль, что я имел в виду

 $carrotVar = 'carrots'; not $veggie = 'carrots';
  

Комментарии:

1. откуда берется $ carrotVar? или это должно быть $ veggie

Ответ №1:

изменить

 $veggie = 'carrots';
  

Для

 $carrotVar = 'carrots';
  

Ответ №2:

При объявлении массива вы используете $carrotVar :

 $var = array(
    'fruit' => $appleVar, 
    'veggie' => ''.$carrotVar.' no carrots please'
);
  

Но эта $carrotVar переменная не определена.

Вероятно, вам следует использовать $veggie переменную :

 $var = array(
    'fruit' => $appleVar, 
    'veggie' => ''.$veggie.' no carrots please'
);
  

Или переименуйте ее, чтобы она соответствовала своему содержимому :

 $carrotVar = 'carrots';
  

Ответ №3:

Вы тщательно проверили.

В моем случае это печать :-

 Notice: Undefined variable: carrotVar in /home/jatin/webroot/vcms/trunk/application/modules/ibroadcast/controllers/VideoController.php on line 10 Array (
    [fruit] => apple
    [veggie] =>  no carrots please )
  

Комментарии:

1. Поскольку не определен carrotVar, он также выдает уведомление

Ответ №4:

Хотя php не нуждается в объявлении переменной, вы можете просто использовать ее, просто определив ее, когда это необходимо для используемой вами переменной, т.е. $carrotVar в ней нет значения, поэтому выходные данные отображаются не так, как вы хотели, просто переключитесь $veggie = 'carrots'; на $carrotVar = 'carrots'; или измените переменную массива.

Ответ №5:

Вы не определили $carrotVar .

Ответ №6:

 $appleVar = 'apple';  
$veggie = 'carrots';  
$carrotVar = $veggie . ' no carrots please';  
$var = array('fruit' => $appleVar, 'veggie' => $carrotVar);  
  

(или каким бы ни был ваш вывод, он должен быть.)