PHP ASP JS 对照表---Basic

最近喜欢上了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>
<body>
<%
for i=1 to 10
Response.Write(i &"<br/>")
next

%>
</body>
</html>

<html>
<body>
<%
for (i=1;i<=10;i++)
document.Write(""+i+&"<br/>")

%>
</body>
</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";
$avar = <<<EOS this is a stringEOS;
双引号
单引号、双引号
字符串连接
点(.)
$AB='A'.'B';
 &
AB="A"&"B"
 +
AB = 'A'+'B'
字符赋值
支持。
$a = "A";
$b = "$a B";
/* now $b == 'A B' */
不支持
不支持
字符强制符
换行符:"\n"
回车符:"\r"
需要注意,类似'\n'的单引号不会生效,只有双引号有作用。
换行符: vbLf
回车符: vbCr
换行符:"\n"
回车符:"\r"
HTML编码函数
htmlspecialchars($str) 转换 < > & 和 " 到HTML符号, 如 < 转换为 &lt; 
 
urlencode( ) 所有标点符号非ASCII的符号用 %xx 编码替换. 空格转换为 +. 
 
urldecode( ) 将上面的编码还原  
 
Server.HMTLEncode( ) 
 
Server.URLEncode( ) 
escape(str)
unescape(str)
 
日期函数
$adate = time();
$adate=mktime(0,0,0,1,30,2000);
print date('d-m-Y',$adate);
adate = Now
date= CDate('2000-1-30')
FormatDateTime(adate,2)
adate = new Date()
adate = new Date(2000,1,30)
document.Write(''+adate)
数组
定义:array
$myArr = array(1,'two');

索引:用[]
echo $myArr[1]; //得到 two 遍历 $counts=count($myArr); for ($i=0;$i<$counts;$i++){ echo $myArr[$i].'<br/>'; }
/* 更加简单做法 */
         
foreach ($myArr as $element)
 echo $element.'<br/>';
 
      
定义:
dim myArr
myArr=array(1,"two")
索引:使用()进行索引
response.write(myArr(1)) 遍历: dim counts,i
counts=Ubound(myArr)
for i=0 to counts
response.write(myArr(i)&"<br/>") next
定义:
myArr=new Array(1,"two");
索引:使用[]进行索引
document.write(myArr[1])
遍历:
var counts=myArr.length; for (var i=0;i<counts;i++){ doucument.write(myArr[i]+"<br/>") }
数组阵列
$avar = array();
$avar['newton']='isaac';
echo $avar['newton'];//输出isaac
注: 你可以使用[]将元素添加进去 $avar[] = '要添加的东西';
不支持,但可以用Dictionary实现
avar = new Array();
avar['newton'] = 'isaac';
document.write(avar['newton'])
True&False
除真假外,以下皆为False:
0; //0 ""; //空字符
"0"; //为0的字符串
与PHP和JS不同,0不为False
除真假外,空字符和0为False
赋值
==和!=判断是否相等
===和!==判断是否为同值同类型
相等用=,<>为不等
==和!=判断是否相等
===和!==判断是否为同值同类型
简写
支持C语言式简写,如为一变量增添字符串:
$myVar .='这是新增的字符';
不支持
myVar +="这是新增的字符"
if语句
if (strlen($avar) == 0) {
  $avar = "abc";
} else
$avar .= 'end';
if len(avar) = 0 
then avar = "abc"
else avar = avar & "end"
endif
同PHP和C
while语句
while ($a > 0) {
$a -= 1;
}
while a > 0 
a = a - 1
wend
while (a > 0) 
a -= 1;
for循环
for ($i=0,$m=9; $i<$m; $i++){
print $i; }
for i=1 to 100  
Response.Write(i)
next
for (i=0,m=9; i<m; i++) {
document.Write(i);
}
Switch/Case
switch($aColor){
case 'red':do1;
break;
case 'green':do2;
break;
default:do3;
break;}
select case aColor
case "red"
do1
case "green"
do2
case else
do3
end select
switch(aColor){ 
case 'red':do1 ;
break;
case 'green':do2 ;
break;
default: do3;
break;}
posted @ 2010-03-06 10:36  Partoo  阅读(1257)  评论(0编辑  收藏  举报