仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1163|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:PHP教程:网站开辟编程中的特别符号处置...

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:44:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。   </p> 1 PHP中单引号与双引号的区分  


  在PHP中,凡是一个字符串被界说在一对引号中,如:

'I am a string in single quotes'
"I am a string in double quotes"

  PHP语法剖析器是用成对的引号来判别一个字符串的。因而,一切字符串必需利用统一种单或双
引号来界说入手下手和停止。例如,上面的字串界说是不正当的:

"I am not a valid string since I have unmatching quote marks'
'Me neither!"

  界说字符串时,只要一种引号被视为界说符,即单引号或双引号。因而,假如一个字符串由双引
号入手下手,那末只要双引号被剖析器解析。如许,你就能够在双引号串中包括任何其他字符,乃至单引
号。上面的引号串都是正当的:

$s = "I am a 'single quote string' inside a double quote string";
$s = 'I am a "double quote string" inside a single quote string';

  当PHP碰到与串的开首绝对应的引号时,便以为已到了字符串尾部,因而:

"Why doesn't "this" work?"

  实践上被PHP语法剖析器分红三个局部:

"Why doesn't "——包括一个单引号的双引号串
this——过剩的字符,剖析器没法处置
" work?" ——通俗字符串

  下面的这个例子妄图在双引号串中包括双引号,而剖析器在碰到第二个双引号时便以为字符串结
束了。要到达包括引号的目标,必需剖析器在碰到串内通俗引号的时分疏忽它的原意,咱们在引号的
后面加上一个反斜杠来告知PHP:这个引号是字符串的一局部,准确的暗示办法是如许:

"Why doesn't \"that\" work?"

  在英文字符串中一个罕见的成绩是撇号'的利用,由于它就是一个单引号,而在英文串中非常罕见
(英文一切格)。你必需当心处置这些字符:

'You\'d better escape your apostrophes'

  可以看到反斜杠在字符串中有他的特别寄义,当咱们需求在字符串中包括反斜杠自己时,需求在
该符号后面多加一个反斜杠。例如:

$file = "c:\windows\system.ini";
echo $file; // 打印了局为: c:windowssystem.ini
$file = "c:\\windows\\system.ini";
echo $file; // 打印了局为: c:\windows\system.ini

  另外一种字符串界说体例,可以消弭特别字符的懊恼,并且便于援用较长的文本。该字符串界说方
法以<<<符号紧跟一个自界说字符串开首,最初一行以该自界说字符串停止,而且必需顶格。


2、字串的毗连

  字串可使用字串联接符(.)来毗连,如:

$first_name = 'Charlie';
$last_name = 'Brown';
$full_name = $first_name . ' ' . $last_name;

  罕见的用处是创立大块的HTML字串代码,赋值号 (=) 毗连符 (.) 可以被简写兼并为 (.=) 符
号,如:

$html = '<table>';
$html .= '<tr><td>number</td><td>square</td></tr>';
for ( $i=0 ; $i<10 ; $i++) {
$square = $i * $i;
$html .= '<tr><td>' . $i . '</td><td>' . $square . '</td></tr>';
}
$html .= '</table>';


3、在字串中利用变量

  这个功效让你不必利用毗连符号来粘和大批的复杂字符串。PHP答应咱们在双引号串中直接包括字
串变量,咱们可以发明上面的两个字串的处置了局是不异的。

$full_name = $first_name . ' ' . $last_name;
$full_name = "$first_name $last_name";

  单引号串和双引号串在PHP中的处置是不不异的。双引号串中的内容可以被注释并且交换,而单引
号串中的内容总被以为是通俗字符。例如:

$foo = 2;
echo "foo is $foo"; // 打印了局: foo is 2
echo 'foo is $foo'; // 打印了局: foo is $foo
echo "foo is $foo\n"; // 打印了局: foo is 2 (同时换行)
echo 'foo is $foo\n'; // 打印了局: foo is $foo\n

  正如你所看到的,在单引号串中乃至反斜杠也得到了他的扩大寄义(除拔出反斜杠\\和拔出单

2 PHP中单引号与双引号的区分   引号\')。所以,当你想在字串中停止变量代换和包括\n(换行符)等本义序列时,你应当利用双引
号。单引号串可以用在其他任何中央,剧本中利用单引号串处置速度会更快些,由于PHP语法剖析器对
单引号串的处置体例对照纯真,而双引号的处置因为串外部也需求解析,因而更庞杂些,所以处置速
度略慢。

  在字符串中援用庞杂的变量组应时,能够会发生一些成绩,上面的代码会正常任务:

echo "value = $foo";
echo "value = $a[$i]";

  而上面的代码却不克不及失掉咱们但愿的了局:

echo "value = $a[$i][$j]"; //咱们但愿打印二维数组$a的某个元素。

  为防止这些字串利用中的潜伏成绩,咱们凡是把庞杂的变量从字串平分分开来,就像如许:

echo 'value = ' . $a[$i][$j];

  还有一种举措是将庞杂变量用花括号括起来,语法剖析器就可以准确识别了:

echo "value = {$a[$i][$j]}" //打印二维数组$a的某个元素

  如许,又呈现新成绩了。当咱们想在字串中援用花括号字符自己时,就要记得利用本义符了:

$var = 3;
echo "value = {$var}"; // 打印了局 "value = 3"
echo "value = \{$var}"; // 打印了局 "value = {3}"


3、斜杠和SQL语句

  生成HTML代码或SQL查询语句是编写PHP法式时常常碰到并且是件风趣的工作。为何这么说呢, 由于这触及到生成别的一品种型的代码,你必需细心地思索和遵守这类代码所请求的编写语法和划定规矩。

  咱们来看如许一个例子,假设你想查询数据库中名字是“O'Keefe”的用户,凡是SQL语句的模式是如许的:

select * from users where last_name = 'O\'Keefe'

  请注重SQL语句这个英文一切格(撇号)需利用反斜杠本义。PHP专门供应了一些函数来处置如许的情形,函数AddSlashes($str)的用处就是主动在字串中对引号字符拔出反斜杠本义符:

$last_name = "O'Keefe";
$sql = "select * from users where last_name = '" . addslashes($last_name) . "'";

  在这个例子中,你还要在last_name字串里面括上单引号(SQL语法请求),因为这里利用的是双引号串,所以对这对单引号就不必利用本义了。上面的这个语句是利用单引号串的等价模式:

$sql = 'select * from users where last_name = \'' . addslashes($last_name) . '\'';

  任什么时候候你要在数据库中写入字串,你都必需确保外面的引号准确利用了本义符号,这是良多PHP 初学者常犯的毛病。


4、双引号和HTML

  与SQL语句分歧,在尺度HTML言语中双引号常被用来暗示字串(如今良多阅读用具备较强的容错功效,答应在HTML顶用单引号乃至不必引号暗示字符串),例如:

$html = '<a href="'.$url.'">'.$link.'</a>';
$html = "<a href=\"$url\">$link</a>";

  HTML言语不撑持反斜杠本义,这一点在咱们利用表单的hidden inputs来传输数据的时分就会有所体味了。设置hidden inputs的值的最好举措,是利用htmlspecialchars()函数来编码。上面的语句可以正常传输一个能够包括双引号的数据:

  <input type=hidden name=var value="<?php echo htmlspecialchars($var) ?>">  


1、引号界说字符串。要到达包括引号的目标, 必需剖析器在碰到串内通俗引号的时分疏忽它的原意,咱们在引号的 后面加上一个反斜杠来告知PHP:这个引号是字符串的一局部,准确的暗示办法是如许:单引号串可以用在其他任何中央,剧本中利用单引号串处置速度会更快些,由于PHP语法剖析器对 单引号串的处置体例对照纯真,而双引号的处置因为串外部也需求解析,因而更庞杂些,所以处置速 度略慢。

这个...双引号本义,单引号不本义
如:/r/n是换行,然而假如你用单引号写入文件,不会是换行,而是一个字符,假如用双引号写入文件,就是换行.PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。
透明 该用户已被删除
沙发
发表于 2015-2-4 06:26:21 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
小女巫 该用户已被删除
板凳
发表于 2015-2-9 17:36:26 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
深爱那片海 该用户已被删除
地板
发表于 2015-2-17 08:11:11 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
再见西城 该用户已被删除
5#
发表于 2015-2-18 23:09:23 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
飘灵儿 该用户已被删除
6#
发表于 2015-2-26 20:34:05 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
活着的死人 该用户已被删除
7#
发表于 2015-2-27 14:11:26 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
简单生活 该用户已被删除
8#
发表于 2015-3-1 18:01:07 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-5 13:32:22 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
乐观 该用户已被删除
10#
发表于 2015-3-11 13:53:57 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
不帅 该用户已被删除
11#
发表于 2015-3-18 15:47:57 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
飘飘悠悠 该用户已被删除
12#
发表于 2015-3-23 07:56:59 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
灵魂腐蚀 该用户已被删除
13#
发表于 2015-3-27 19:09:48 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
第二个灵魂 该用户已被删除
14#
 楼主| 发表于 2015-3-31 18:25:45 | 只看该作者
爱上php,他也会爱上你。
小妖女 该用户已被删除
15#
发表于 2015-4-1 08:45:22 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
若相依 该用户已被删除
16#
发表于 2015-4-5 10:52:41 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
因胸联盟 该用户已被删除
17#
发表于 2015-4-7 14:56:03 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
变相怪杰 该用户已被删除
18#
发表于 2015-4-9 09:15:15 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
再现理想 该用户已被删除
19#
发表于 2015-4-10 17:11:31 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
若天明 该用户已被删除
20#
发表于 2015-4-21 15:43:58 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 09:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表