我遗漏了一些东西。我确定这是愚蠢的,但我不知道它是什么,抱歉。
我正在使用三元运算符将字符串分配给 $onClick
。
紧接着,我尝试访问 $onClick
并收到 Undefined variable: onClick
错误。
我尝试过更简单的版本(布尔值而不是字符串),但它是一样的。我也尝试用相同的结果包装它们。
除了下面的示例 (CakePHP),我还创建了一个在线代码段 here,将 debug()
替换为 var_dump()
。注意:要在这个控制台上看到通知你必须fork它,但我向你保证有通知!
注意:尽量提供尽可能多的例子,我可能会有复杂的事情。我有问题的那一行是评论的那一行:<--- 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
输出:
答案 0 :(得分: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