【问题标题】:Syntax Error: Token ']' not a primary expression语法错误:标记 ']' 不是主要表达式
【发布时间】:2026-02-16 04:50:01
【问题描述】:

我必须发送经理点击批准的航班“id”,所以我希望 php var 以某种方式进入 angular var。我在标题中提到的错误发生的地方这样做了。

<input type="hidden" ng-init="id[index++]='<?php echo $flight['id']; ?>'">

知道角度编译器在谈论哪个“[”以及如何编写这样的正确表达式?非常感谢。在角度:-

$scope.id=[];
$scope.index=0;

好的,我得到了一个很好的答案,它说你可以使用'\'来逃避引用,现在我正在尝试:-

<input type="hidden" ng-init="id[index++]='<?php echo $flight'\['id']'; ?>'">

但它仍然无法正常工作,并且在行:blah 处给出了“意外的“[”错误。任何人都可以在我上面提到的行中添加“\”并让我摆脱这个头痛吗?

【问题讨论】:

  • 我假设它是id 之后的],看到id 左侧的' 正在关闭字符串。 '&lt;?php echo $flight['
  • 我怀疑是这样,但是如何解决这个问题?
  • @Escape 引用。 PhP 中的语法是什么
  • 你能写出完整的 语法吗?
  • @Fran 这行不通,因为编译器来自 Angular,而不是描述中的 PHP。有什么方法可以将它分配给变量吗?

标签: javascript php angularjs syntax-error


【解决方案1】:

你在 ng-init 完成之前关闭你的字符串。 试试这个:

<input type="hidden" ng-init="id[index++]='<?php echo $flight[`id`]; ?>'">

【讨论】: