Я что-то упускаю. Я уверен, что это что-то глупое, но я не знаю, что это такое, извините.
Я присваиваю строку $onClick
с помощью тернарного оператора.
Сразу после этого я пытаюсь получить доступ к $onClick
и получаю Undefined variable: onClick
ошибку.
Я пробовал с более простыми версиями (логические значения вместо строк), но это то же самое. Я также попытался обернуть их с тем же результатом.
Помимо приведенного ниже примера (CakePHP), я создал онлайн-фрагмент здесь, заменив debug()
на var_dump()
. Примечание: чтобы увидеть уведомления на этой консоли, вам нужно разветвить ее, но я вас уверяю, что уведомления есть!
Примечание: пытаясь предоставить как можно больше примеров, у меня могут быть сложные вещи. Строка, с которой у меня проблемы, комментируется следующим образом: <--- this one
Код:
$id = 39; // just for this example
$isNew = true; // just for this example
// debug() examples:
debug($isNew); // line 42
debug($isNew ? "sendMeasure('add', null)" : "sendMeasure('edit', {$id})"); //42
// Actual problematic line:
$onCLick = $isNew ? "sendMeasure('add', null)" : "sendMeasure('edit', {$id})"; // <--- this one
debug($onClick); // line 47
// tying a simple bool value (just in case):
$onCLick = $isNew ? true : false;
debug($onClick); // line 51
// I even wrapped them (just in case):
$onCLick = ($isNew ? true : false);
debug($onClick); // line 55
// Expected behavior below:
if ($isNew) {
$onClick = "sendMeasure('add', null)";
} else {
$onClick = "sendMeasure('edit', {$id})";
}
debug($onClick); // line 63
Выход:
Вы назначаете "onClick" примечание верхней L, а затем проверяете "onClick" с нижней "l". Исправьте это, и это должно работать нормально.
Проблема с переменной в верхнем и нижнем регистре. переменная, определенная как $onCLick, и вы проверяете как $onClick
// Actual problematic line:
$onClick = $isNew ? "sendMeasure('add', null)" : "sendMeasure('edit', {$id})"; // <--- this one
debug($onClick); // line 47
// tying a simple bool value (just in case):
$onClick = $isNew ? true : false;
debug($onClick); // line 51
// I even wrapped them (just in case):
$onClick = ($isNew ? true : false);
debug($onClick); // line 55
Я знал, что это было что-то ... ааа, позор мне
Вы присваиваете переменную
$onCLick
, но отлаживаете переменную$onClick
.