前言
我原本以为<?=只是<?php 的简写
因为在学习php标记之初
就开始了解php标记有各种简写的情况
当我看到<?=这种标记时
就下意识的以为这是php的一种标记
直到我在自己代码中用到时
php中的代码并未渲染到元素中
过程
我在自身代码中
有一段查库的语句
查询之后将$result["id"]取值,然后转换为id名
像是这样
<div id="hello<?= $result["id"] ?>" ></div>
我发现代码是可以正常获取到div的id值的
渲染到前端页面也是可以正常使用的
但是当我再次取值为$result["url"]时
事情变得奇怪了起来
我的代码在一行javascript代码中
像是这样
value: 'https://<?php $result["url"] ?>'
我原本以为前端页面会像上面一样可以正常运行
但是并没有
前端什么也没显示
检查元素时发现
value后面很不正常
只有一个https:// 后面就没了
像是没有取到值一样
解决
左思右想以后
我开始慢慢的明白了
php中的代码如果不使用echo去调用变量的话
是无法出现在前端代码中的
于是我改写了我的代码
value: 'https://<?php echo $result["url"] ?>'
果然,该写完自己的代码后
前端去检查元素时果然正常了
但是我又开始疑惑了
在我的理解里
<?= 和<?php是同一种东西
为什么表现却大不相同
在我慢慢的探索下才发现
原来<?= 相当于<?php echo
所以在上面的代码可以正常执行
而我下面没有加echo的代码就运行不了
后记
除了了解了这些东西之后
还有一个函数就是
文章评论