javascript - 在 Switch Case PHP 中使用具有不同值的相同代码 Jquery 时出现问题
问题描述
我创建了一个 Switch Case,并希望结果显示相同的 jquery,但根据 Switch 结果显示变量的值!我想不出办法做到这一点,有人有什么想法吗?
一旦我从 Case 得到结果,我就想使用 Jquery 代码!
使用将用于 jquery 值的变量切换案例代码:
switch($_GET['id']){
case 'hello':
case 'hi':
case 'hola':
$variable = "IsHello";
break;
case $id == $row['id']:
$variable = "IsBye";
break;
}
将在每种情况下使用的 Jquery 代码:
<script type="text/javascript">
alert(<?php $variable ?>);
</script>
解决方案
首先,要将 php 变量的值注入到您的 javascript 代码中,您必须回显它。
<script type="text/javascript">
alert('<?php echo $variable ?>');
</script>
您拥有脚本的页面也必须以 php 实际处理它的方式提供。大多数情况下,只要您的文件名为.php ,您的网络服务器就会被配置为执行此操作。
其次,您不能在 switch 语句中将语句作为case语句。您可以有一个默认情况并在其中进行if检查。
switch($_GET['id']){
case 'hello':
case 'hi':
case 'hola':
$variable = "IsHello";
break;
default:
if($id == $row['id']) {
$variable = "IsBye";
}
break;
}
更新: 有人告诉我这实际上在 PHP 中是允许的,尽管手册中没有提到它,但PHP7 中的快速测试证实了这一点。该手册实际上特别指出
“在许多情况下,您可能希望将同一个变量(或表达式)与许多不同的值进行比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。”
这使得允许这样做有点出乎意料(尽管有人可以争辩说一段计算为值的代码将符合定义)。但我建议不要将其作为自己的通用编程技术,因为大多数其他语言会用一种奇怪的眼光看待你。
推荐阅读
- r - 在 Rcpp 中选择 NumericVector 和 arma::vec
- c# - 如何在 ASP.NET webconfig 中禁用视图状态大小限制
- python - 我可以停止 tensorflow 训练并仍然安全地关闭摘要编写器的 tfrecords 文件吗?
- xml - 使用 XSLT 删除节点中的重复值
- nltk - 如何在 NLTK/StanfordNLP/CoreNlP 中扩展/自定义命名实体?
- r - 数据缩放和预测 R 中的新值
- javascript - 我是否按照应有的方式使用 JavaScript 类?
- sharepoint - 创建 Sharepoint 工作流以收集自定义列表的数据
- java - 在 Java 中找不到具有指定 ID 的上下文 - Selenium webdriver
- java - 使用 compareTo 从 ArrayList 中删除重复项