本文目录一览:
- 1、刚开始自学PHP的小白求解,在DW中运行PHP书中例子,显示语法错误
- 2、php语法错误
- 3、php错误提示Syntax error, unexpected' ?
- 4、PHP语法错误
- 5、总提示我的PHP语法错误 在线求解
- 6、php中赋值是没有任何语法错误但是在浏览器中提示错误
刚开始自学PHP的小白求解,在DW中运行PHP书中例子,显示语法错误
if流程控制语句正常是这样:
?php
$a = 0;
if($a == 0){
echo "\$a等于0";
}
你的写法属于if的缺省语句,估计DW不识别而已。类似于这样
?php
$a = 0;
if($a == 0)
echo "\$a等于0";
这样和上面的效果是一样的,建议采用上面的写法
php语法错误
1、可以看下 json_deconde($result); 是否有返回 NULL,如果是,说明解析失败,下一步:
2、看下$request-request() 返回的是否正确,如果返回的是一个WP_Error对象,说明请求失败,检查你的请求是否正确,先处理好这个问题。
如果请求正确,返回的是一个数组,下一步:
3、最简单的方法就是直接打印$result看下。$result['body']的值是否有值,且符合json格式。如果这里没有问题,基本上就没问题了!
【代码】
// 建议一步步输出数据来看下整个流程是否符合预期
if(!function_exists('get_sina_short_url')){
function get_sina_short_url($long_url){
$api_url =';url_long='.$long_url;
$request = new WP_Http;
$result = $request-request($api_url);
// 如果返回的是一个对象(WP_Error对象),说明请求失败
if(is_object($result))
{
// 处理
return false;
}
$result = $result['body'];
$result = json_decode($result);
// 如果$result是null,说明解析失败(或者嵌套太深)
if(is_null($result))
{
// 处理
return false;
}
// 严格来说,这里还要对$result进行判断
return $result[0]-url_short;
}
}
php错误提示Syntax error, unexpected' ?
这个提示的是语法错误。但是,你这写的在语法上应该没毛病。
是不是你的编辑器提示出问题了,运行一下看看是否正确。
PHP语法错误
这个是模板文件编译后出现的语法错误,可以检查模板文件有没有写法问题。
可以按提示的
D:\phpStudy\WWW\My\Runtime\Cache\Home\8dc23e4b59412263cf65a712c686eabb.php LINE: 513
这个文件和行,对应找出模板文件出问题的地方,再检查修复
总提示我的PHP语法错误 在线求解
?
// 全站通用变量
$MyEmail = "phptalk@tnc.org";
$MyEmailLink = "a href=\"mailto:$MyEmail\"$MyEmail/a";//注释:就这句。
$MyName = "PHP Talk";
$MySiteName = $MyName."'s Home Page";
?
你的这一段是没有错误的,我已经亲自测试过。
但你在问题里补充的$MyEmailLink = "a href= # 9 2;"mailto:$MyEmail # 9 2;"$MyEmail/a"; 是有错误的。
你应该像上面那段一样,对双引号使用转义符:反斜杠“\”,否则php解释引擎会将其视为一个字符串变量的引号标识。 你不能在PHP代码中使用\来代替反斜杠,因为\只对HTML在浏览器中的最终解析有效。
而你这是PHP代码,是要先经过PHP引擎进行处理的,这里的双引号只是对php有歧义,而不是对HTML有歧义,所以你根本不需要使用\ 而是应该直接使用反斜杠
修改为$MyEmailLink = "a href=\"mailto:$MyEmail\"$MyEmail/a"; 即可
php中赋值是没有任何语法错误但是在浏览器中提示错误
出现上面这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉。
解决方法:
方法1:服务器配置修改
修改 php.ini 中的 error配置下错误显示方式:将error_reporting = E_ALL 修改为
error_reporting = E_ALL ~E_NOTICE
修改后重启下APCHE服务器,方可生效。
方法2:对变量进行初始化。
方法3:做判断isset($_post['']),empty($_post['']) if --else
方法4:在出现notice代码之前加上@,@表示这行有错误或是警告不要输出,@$username=$_post['username'];
在变量前面 加上一个 @ ,如 if (@$_GET['action']=='save') { ...
方法5:最后一种很实用,是别人写的一个函数,通过这个函数进行传递值。
定义一个函数:
复制代码 代码如下:
function _get($str){
$val = !empty($_GET[$str]) ? $_GET[$str] : null;
return $val;
}
然后在用的时候,直接用 _get('str') 代替 $_GET['str'] 就行啦~