当我写作
<?=?>
Run Code Online (Sandbox Code Playgroud)
在我的电脑中它不起作用,但它在另一台电脑上工作!为什么??? :( 例如 :
<?php
$courses = CourseManager::findAll();
?>
<h3>Course List</h3>
<table>
<tr><th>Name</th></tr>
<?php foreach ($courses as $c){
?>
<tr>
<td><?=$c->getName()?></td></tr>
<?php } ?>
</table>
Run Code Online (Sandbox Code Playgroud)
或者,这太简单了吗?:)
<?= expression ?>
Run Code Online (Sandbox Code Playgroud)
这是一个捷径
<? echo expression ?>
Run Code Online (Sandbox Code Playgroud)
要么
<?php
$i ="test";
?>
<h1><?=$i?></h1>
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议 :)
我刚刚下载了一个PHP博客脚本,并且在使用它的语法方面遇到了一些问题.
发生此代码时有几个实例:
<?=$miniblog_posts?>
Run Code Online (Sandbox Code Playgroud)
现在这没有做任何事情.为了让它工作,我必须改变它.
<?php echo $miniblog_posts; ?>
Run Code Online (Sandbox Code Playgroud)
这是一种旧的写PHP方式,不再支持,或者我错过了什么.
我正在运行PHP V5.3.1
嘿伙计们,刚刚升级了我的WAMP.
我的很多代码都用于<?=$variable?>快速的echo语句.有没有人知道重置的PHP设置?
我已经编辑了php.ini文件,但它仍未启用:
short_open_tag
Default Value: On
; Development Value: On
; Production Value: On
Run Code Online (Sandbox Code Playgroud)
说它在phpinfo文件中是关闭的.
我使用的是php 5.3
干杯.
这是你如何解决它:
如果你去PHP管理器,然后进入"PHP设置"下的"管理所有设置",你可以通过UI启用它.令人沮丧!
关于堆栈交换有很多关于是否应该使用<?php echo ?>或 的问题<?= ?>。
我决定使用<?php echo ?>,但我想知道是否有一个好方法来创建一个快捷方式来节省写这个的时间。
目前我使用 Sublime Text 2 的默认设置,没有安装任何插件或任何东西,我不是“超级用户”。但我知道,如果我输入 php 然后按 Tab 它会输出:<?php ?>.
有没有办法在里面得到回声,这样做是个好主意吗?有人已经这样做了吗?
PS我应该补充一点,我并不总是希望出现回声,因为我并不总是需要回声。
只是想知道,我有一个代码点火器项目,我被要求做一些工作。我还试图(在我可以的地方)准备要升级到php 7.x的项目(当前为5)。
我很困惑的一件事是使用php短标签。我爱他们,但似乎他们在7中被删除了?
所以我的问题是,我应该删除它们吗?问题是,它们使代码更具可读性,为什么要删除代码?
因此,例如:
<?php if ($product->price_discounted > 0)
{
echo "<p class='discounted price'>" . $product->price_discounted . "</p>"
}
?>
Run Code Online (Sandbox Code Playgroud)
与
<? if ($product->price_discounted > 0): ?>
<p class='discounted price'><?= $product->price_discounted ?></p>
<? endif; ?>
Run Code Online (Sandbox Code Playgroud)
我宁愿使用第二个版本,但是每当我在php7上运行我的项目时,这些都不起作用。我是否缺少某些东西,或者它们真的被删除了吗?
仅供参考:我在php.ini中有简短的标签
可能重复:
PHP短标签是否可以使用?
<?php
//Some code
?>
Run Code Online (Sandbox Code Playgroud)
要么
<?
//Some code
?>
Run Code Online (Sandbox Code Playgroud)
我知道第一种方法是正确的方法,但PHP代码未经过验证.因此,除了节省额外的输入和字节外,重要吗?
更新 感谢您的回复......
再次感谢
请帮我解决一小段代码.我想在文本框中获取值.
有时这条线有效:
<td width="292" bgcolor="#EDEFF4"><input name="pno" type="text" id="pno" value="<?php echo $pno?>"/></td>
有时这条线有效:
<td width="292" bgcolor="#EDEFF4"><input name="pno" type="text" id="pno" value="<?=$pno?>"/></td>
那么两者之间的区别是什么
<?php echo $pno ?>
Run Code Online (Sandbox Code Playgroud)
和
<?=$pno?>
Run Code Online (Sandbox Code Playgroud) 以下返回字符串长度为零:
<?php
print_r(ini_get('short_open_tag'));
?>
Run Code Online (Sandbox Code Playgroud)
在两台 PHP 8 服务器(apache2handler 和 cgi-fcgi)上,我需要知道是否启用了短标签,因为它会与 XML 产生冲突。我无法停下手中的一切去看看phpinfo()。
这段代码在两台服务器上的 PHP 7.4 中都运行得很好。现在,我确实知道短标签已被禁用,尽管我需要能够在服务器升级后快速知道。
我怎样才能ini_get('short_open_tag')重新开始工作?
在写字
<?=$variable?>
Run Code Online (Sandbox Code Playgroud)
慢于
<?php echo $variable; ?>
Run Code Online (Sandbox Code Playgroud)
换句话说,服务器解释得更快?
如果
<?=$var?>
Run Code Online (Sandbox Code Playgroud)
仅在启用短标签时使用,那么这是否意味着它的常规版本是:
<?php=$var?>
Run Code Online (Sandbox Code Playgroud)
第二个不起作用.