PHP: неопределенная переменная при присвоении ей значения с помощью тернарного оператора

Я что-то упускаю. Я уверен, что это что-то глупое, но я не знаю, что это такое, извините.

Я присваиваю строку $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, но отлаживаете переменную $onClick.

Blackhole 20.12.2020 14:11

Вы назначаете "onClick" примечание верхней L, а затем проверяете "onClick" с нижней "l". Исправьте это, и это должно работать нормально.

JP. Aulet 20.12.2020 14:11
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout.
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout.
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для...
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
1
2
228
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема с переменной в верхнем и нижнем регистре. переменная, определенная как $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

Я знал, что это было что-то ... ааа, позор мне

Hache_raw 20.12.2020 14:38

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