最近喜欢上了jQuery,但是ASP方面的资料太少了,所以学了点PHP的基础,看到老外的一篇文章,粗略的排版翻译了一下,并重新写了例子。其他几个部分参看:http://phplens.com/phpeverywhere/node/view/32?PHPSESSID=d56b066a39ce89287b4b5b1cc0a1e150
I.Basic
Feature
|
PHP
|
ASP
|
JS
|
页面中输出1到10 | <html> <body> <?php for ($i=1; $i<=10; $i++); print "$i<br/>"; ?> </body> </html> | <html> | <html> |
Tags | <?php ?> 如果 PHP.ini支持短标签可以: <? ?> 如果 PHP.ini支持ASP标签可以: <% %> <%= return expression %> | <% %> | <script language="javascript"></script> |
语句结束 | 分号(;) | 无 | 两者皆可 |
注释 | //PHP comment 1 /* This is a multi-line Comment */ # PHP comment 3 | ' VBScript comment | //JScript comment
/* This is a multi-line Jscript Comment */ |
变量前缀 | $ | 无 | 无 |
需要声明变量吗? | 不用,变量预置类型为NULL,如出错则返回空字符或0. $myVar = 123; | 可选,但如果用到的变量未初始化会出错。 Dim myVar | 可选,但如果用到的变量未初始化会出错。 var myVar |
区分大小写吗? | 对变量名区分,但对函数和保留字不区分 | 都不区分 | 区分 |
字符串 | 单引号(')、双引号、("")PERL样式 $avar = 'this is a string'; $avar = "this is a string"; | 双引号 | 单引号、双引号 |
字符串连接 | 点(.) | & | + |
字符赋值 | 支持。 | 不支持 | 不支持 |
字符强制符 | 换行符:"\n"
回车符:"\r"
需要注意,类似'\n'的单引号不会生效,只有双引号有作用。 | 换行符: vbLf | 换行符:"\n" |
HTML编码函数 | htmlspecialchars($str) 转换 < > & 和 " 到HTML符号, 如 < 转换为 < urlencode( ) 所有标点符号非ASCII的符号用 %xx 编码替换. 空格转换为 +. urldecode( ) 将上面的编码还原 | Server.HMTLEncode( ) Server.URLEncode( ) | escape(str) unescape(str) |
日期函数 | $adate = time(); | adate = Now | adate = new Date() |
数组 | 定义:array $myArr = array(1,'two'); 索引:用[] /* 更加简单做法 */ foreach ($myArr as $element) echo $element.'<br/>'; | 定义: | 定义: |
数组阵列 | $avar = array(); $avar['newton']='isaac'; | 不支持,但可以用Dictionary实现 | avar = new Array(); |
True&False | 除真假外,以下皆为False: | 与PHP和JS不同,0不为False | 除真假外,空字符和0为False |
赋值 | ==和!=判断是否相等 | 相等用=,<>为不等 | ==和!=判断是否相等 |
简写 | 支持C语言式简写,如为一变量增添字符串: $myVar .='这是新增的字符'; | 不支持 | myVar +="这是新增的字符" |
if语句 | if (strlen($avar) == 0) { $avar = "abc"; } else | if len(avar) = 0 | 同PHP和C |
while语句 | while ($a > 0) { | while a > 0 | while (a > 0) |
for循环 | for ($i=0,$m=9; $i<$m; $i++){ | for i=1 to 100 | for (i=0,m=9; i<m; i++) { |
Switch/Case | switch($aColor){ | select case aColor | switch(aColor){ |