它们的安全性是否相等?我被告知使用
<?=$function_here?>
Run Code Online (Sandbox Code Playgroud)
不太安全,它减慢了页面加载时间.我严格偏向于使用echo.
有什么优点/缺点?
可能重复:
<??>标签在php 5.3.1中不起作用
我通常使用速记语法
<?="hello";?>
Run Code Online (Sandbox Code Playgroud)
代替
<?php echo "hello";?>
Run Code Online (Sandbox Code Playgroud)
我创建了一个开发服务器并安装了相同版本的php,但速记方法不起作用,为什么?我该怎么解决?
我会在服务器网站上问这个,但这与php设置或我认为的相关.
我正在运行linux fedora 14
可以说我有2个案例:
<?php
print("html code goes here");
?>
Run Code Online (Sandbox Code Playgroud)
VS
<?php
?>
html codes goes here
<?php
?>
Run Code Online (Sandbox Code Playgroud)
第一种情况下PHP解释器的性能是否会低于第二种情况?(由于处理内部打印功能的额外开销).
那么,有没有人有推荐的方法在PHP代码中插入HTML代码?
我已经尝试使用Google搜索,但是找不到设置。我有一个接受一个生产服务器<?,以及<?php,但我试图使用WAMP的网站,但它不接受<?单独,它坚持使用<?PHP。我可以在WAMP中设置吗?
现在,在你跳过如何不应该混合范围之前:我意识到这一点.但是,这种情况下必须进行范围混合或必须发生主要代码重复 - 周围没有任何内容.而且我更喜欢范围混合.
那就是说,我想要这个代码:
function a() {
$a = "a";
$b = "b";
$c = "c";
}
function b() {
a();
echo $a . $b . $c;
}
b(); // Output: abc
echo $a; // Should raise a notice that $a is undefined
Run Code Online (Sandbox Code Playgroud)
能够作为评论工作.我知道在大多数语言中都不可能 - 我能用Ruby做到这一点; 并想知道你是否可以用PHP做到这一点.
在实际情况中,事先不知道变量的名称.
再次,它是代码重复或这 - 绝对没有办法解决它.
此外,如果a必须是类似的a('b')东西,那也没关系.
实际上,代码是这样的:
static function renderError($what, $vararray) {
foreach($vararray as $key => $val) { /* this foreach is the code we want to decouple */
$key …Run Code Online (Sandbox Code Playgroud) 我有一个完整的网站
这是用php4编写的,现在我的托管服务器是PHP版本5.3.2,windows 2008服务器
并且我的网站无法正常工作,我发现旧网站使用以下语法
<?
Run Code Online (Sandbox Code Playgroud)
但如果我改成它
<?php
Run Code Online (Sandbox Code Playgroud)
页面开始工作.有没有办法解决这个问题......
PHP版本5.3.2使用
<?
Run Code Online (Sandbox Code Playgroud)任何改变所有的脚本
<? to <?php
Run Code Online (Sandbox Code Playgroud)在所有页面中.
可能重复:
<??>标签在php 5.3.1中不起作用
我正在运行Debian Lenny,"官方"PHP版本是5.2. - 但是,我遇到了许多现在需要PHP 5.3的东西.经过一些谷歌搜索,我找到了一个网站,以帮助我迫使debian lenny去5.3.
现在我知道很多事情会破坏5.3.对于我使用的大部分内容,我似乎没有这个问题.然而,我一直遇到的一个主要问题是我使用了启动php代码的简写方法:
<?而不是<?php.这在PHP 5.2中从来都不是问题.因为它同时接受了.
但是,在dotdeb的PHP 5.3.5.0中,似乎需要php.我经历了全部<?替换<?php,然后全部<?phpphp替换<?php.这似乎已经解决了我对我的代码所遇到的任何问题,但是第三方代码中的快捷方式如<?=不起作用<?php=.我也不希望在我从这里使用的每个php文件上运行此替换.
我怎样才能获得php 5.3.允许快捷方式<?和<?=被接受而不需要php?
我正在尝试在本地安装一个站点。使用 XAMPP 3.2.3 和 php 5.6。
我有一个 index2.php 文件,它看起来像这样:
<?
if (2>1)
{
echo 'aa';
}
Run Code Online (Sandbox Code Playgroud)
我打开 http://localhost/index2.php 并看到:
1) { echo 'aa'; }
Run Code Online (Sandbox Code Playgroud)
以某种方式 ">" 被解释为 php 代码的结尾。我怎样才能让它正确解释条件表达式中的 '>" 符号?即输出是
aa
Run Code Online (Sandbox Code Playgroud) 我知道这可能是一个noob问题,但我真的无法弄清楚这一点.
我被要求修改现有的PHP代码,所以我下载了代码并尝试在我的机器上运行,但我无法让它工作.
从我的理解我们编写PHP代码
<?php
//some code
?>
Run Code Online (Sandbox Code Playgroud)
但我下载的这段代码使用这样的PHP代码
<?
//some code
?>
Run Code Online (Sandbox Code Playgroud)
它在我的机器上不起作用,但它适用于生产服务器.
有谁知道这是如何工作的?
更新:
详细查看代码,这是代码的示例
<?php include $_SERVER["DOCUMENT_ROOT"]."/pages/layouts/summary.php"; ?>
Run Code Online (Sandbox Code Playgroud)
然后在summary.php中
<?
session_start();
require_once $_SERVER["DOCUMENT_ROOT"]."/includes/mysql.php";
require_once $_SERVER["DOCUMENT_ROOT"]."/includes/functions.php";
//more code ...
?>
Run Code Online (Sandbox Code Playgroud)