php中学习中发现的一些小问题及解决办法

问题1

Echo ‘a<b’;在ie中可以正常显示,在chrome/firefox中只显示a

答案:

chrome以及firefox会将<b作为html标签处理。

建议避免这种代码写法。

 

问题2

Const与define的区别?(constant)

答案:

define定义全局常量,在任何地方都可以访问。

const用于类成员变量定义。

 

问题3

再循环中Continue的用法?

答案:

使用continue之后,continue后面的代码将会被跳过。在循环结构用用来跳过本次循环中剩余的代码并在条件求值为真时开始执行下一次循环。

 

问题4

 

Stripcslashes(),还原\v、\a等字符时不能实现,为什么?

例:

$a  = abuu’fdfvvv;

$a  = addcslashes($a,v);

Echo stripcslashes($a);

显示结果将把v不显示。

答案:

当选择对字符 0,a,b,f,n,r,t 和 v 进行转义时需要小心,它们将被转换成 \0,\a,\b,\f,\n,\r,\t 和 \v。在 PHP 中,只有 \0(NULL),\r(回车符),\n(换行符)和 \t(制表符)是预定义的转义序列, 而在 C 语言中,上述的所有转换后的字符都是预定义的转义序列。

 

问题5

字符串检索函数,对于中文字符串的检索可以识别多个,但对于英文字符只能识别一个字符,之后的字符不做识别判断。

String Strstr(string $haystack , string $needle , bool $before_needle)

string stristr(string $haystack , string $needle , bool $before_needle)

string strrch(string $haystack , string $needle)

 

问题6

为什么使用margin:0px auto; 在IE浏览器下不能实现居中效果?

答案:

页面必须使用标准的头部声明,

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

并且该声明必须放在样式代码之前。

 

问题7

怎样使引用文件的路径始终能够正确?

答案:

对于引用的PHP文件,可以直接使用绝对路径;对于前台显示的引用路径,不能显示绝对路径,如何实现,待深入研究。

 

 

问题8

 

 

出现错误提示:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

答案:

一般是由于字符串拼写错误造成的。
例如:

$search = mysql_query("SELECT * FROM searchengine WHERE pageurl = '$_POST['url']'");

就会出错。

可以这样:

$url = $_POST['url'];

$search = mysql_query("SELECT * FROM searchengine WHERE pageurl = ‘$url’");

或者这样:
$search = mysql_query("SELECT * FROM searchengine WHERE pageurl = '{$_POST[url]}'");

或者这样也行:
$search = mysql_query("SELECT * FROM searchengine WHERE pageurl = '".$_POST['url']."'");

posted @ 2011-12-01 21:06  ChrisV  阅读(876)  评论(0编辑  收藏  举报