#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);
(или каким бы ни был ваш вывод, он должен быть.)