ASP / PHP Cross Reference

v1.1.2, 2008.02.01

This is by no means a complete list but it should help you convert ASP to PHP or the other way around. PHP has many more built in commands than ASP (VBScript), so several lines of code in ASP may convert so a single line in PHP. If you have a large application to move from ASP to PHP, the ASP Translator is a free web application that will save you hours of work. It converts comments, variables, if/then, loops, and many commands from ASP to PHP, all in your web browser.

ASP (VBScript)


PHP (v4.3+)


General syntax

ASP Comments, inline
'my dog has fleas
PHP Comments, inline
//my dog has fleas
ASP Comments, block

not available?
PHP Comments, block
/*
  The quick brown fox
  jumped over the lazy dogs.
*/
ASP, Escaping quotes
""

"var text1=""<img src=\""blank.gif\"">"";"
PHP, Escaping quotes
\" or use ' like javascript

'var text1="<img src=\"blank.gif\">";';
ASP Command termination
None, but : can be used to separate commands
on the same line.
PHP Command termination
Each command must end with ; but
multiple commands per line are allowed.
ASP Screen output
response.write "hello"
PHP Screen output
echo "hello";
ASP Newline characters
vbCrLf

response.write "hello" & vbCrLf
PHP Newline characters
"\n" (must be inside "", not '')

echo "hello \n";
ASP Variable Names
Not case sensitive,
so fName is the same as FNAME
PHP Variable Names
Case sensitive AND must begin with $
so $fName is NOT the same as $FNAME

String Functions

ASP String concatenation
&

fname=name1 & " " & name2
emsg=emsg & "error!"
PHP String concatenation
. and .=

$fname=$name1." ".$name2;
$emsg.="error!";
ASP, Change case
LCase(), UCase()

lowerName=LCase(chatName)
upperName=UCase(chatName)
PHP, Change case
strtolower(), strtoupper()

$lowerName=strtolower($chatName);
$upperName=strtoupper($chatName);
ASP String length
Len()

n=Len(chatName)
PHP String length
strlen()

$n=strlen($chatName);
ASP, Trim whitespace
Trim()

temp=Trim(xpage)
PHP, Trim whitespace
trim() and also ltrim(), rtrim()

$temp=trim($xpage);
ASP String sections
Left(), Right(), Mid()

Left("abcdef",3)      result = "abc"
Right("abcdef",2)     result = "ef"
Mid("abcdef",3)       result = "cdef"
Mid("abcdef",2,4)     result = "bcde"
PHP String sections
substr()

substr("abcdef",0,3);     result = "abc"
substr("abcdef",-2);      result = "ef"
substr("abcdef",2);       result = "cdef"
substr("abcdef",1,4);     result = "bcde"
ASP String search forward, reverse
Instr(), InstrRev()

x=Instr("abcdef","de")        x=4 
x=InstrRev("alabama","a")     x=7
PHP String search forward, reverse
strpos(), strrpos()

$x=strpos("abcdef","de");      x=3
$x=strrpos("alabama","a");     x=6
ASP String replace
Replace(string exp,search,replace)

temp=Replace(temp,"orange","apple")
temp=Replace(temp,"'","\'")
temp=Replace(temp,"""","\""")
PHP String replace
str_replace(search,replace,string exp)

$temp=str_replace("orange","apple",$temp); $temp=str_replace("'","\\'",$temp);
$temp=str_replace("\"","\\\"",$temp);
ASP, split a string into an array
Split()

temp="cows,horses,chickens"
farm=Split(temp,",",-1,1)  
x=farm(0)
PHP, split a string into an array
explode()

$temp="cows,horses,chickens";
$farm=explode(",",$temp);
$x=$farm[0];
ASP, convert ASCII to String
x=Chr(65) x="A"
PHP, convert ASCII to String
$x=chr(65); x="A"
ASP, convert String to ASCII
x=Asc("A") x=65
PHP, convert String to ASCII
$x=ord("A") x=65

Control Structures

ASP, if statements
if x=100 then
  x=x+5 
elseif x<200 then 
  x=x+2 
else 
  x=x+1 
end if
PHP, if statements
if ($x==100) { 
  $x=$x+5; 
} 
else if ($x<200) { 
  $x=$x+2; 
} 
else { 
  $x++; 
}
ASP, for loops
for x=0 to 100 step 2 
  if x>p then exit for
next
PHP, for loops
for ($x=0; $x<=100; $x+=2) { 
  if ($x>$p) {break;}
}
ASP, while loops
do while x<100 
  x=x+1 
  if x>p then exit do
loop
PHP, while loops
while ($x<100) { 
  $x++; 
  if ($x>$p) {break;}
}
ASP, branching
select case chartName
  case "TopSales"
    theTitle="Best Sellers"
    theClass="S"
  case "TopSingles"
    theTitle="Singles Chart"
    theClass="S"
  case "TopAlbums"
    theTitle="Album Chart"
    theClass="A"
  case else
    theTitle="Not Found"
end select
PHP, branching
switch ($chartName) {
  case "TopSales":
    $theTitle="Best Sellers"; $theClass="S";
    break;
  case "TopSingles":
    $theTitle="Singles Chart"; $theClass="S";
    break;
  case "TopAlbums":
    $theTitle="Album Chart"; $theClass="A";
    break;
  default:
    $theTitle="Not Found";
}
ASP functions
Function myFunction(x)
  myFunction = x*16  'Return value
End Function
PHP functions
function myFunction($x) {
  return $x*16;  //Return value
}

HTTP Environment

ASP, Server variables
Request.ServerVariables("SERVER_NAME")
Request.ServerVariables("SCRIPT_NAME")
Request.ServerVariables("HTTP_USER_AGENT")
Request.ServerVariables("REMOTE_ADDR")
Request.ServerVariables("HTTP_REFERER")
PHP, Server variables
$_SERVER["HTTP_HOST"];
$_SERVER["PHP_SELF"];
$_SERVER["HTTP_USER_AGENT"];
$_SERVER["REMOTE_ADDR"];
@$_SERVER["HTTP_REFERER"];     @ = ignore errors
ASP Page redirects
Response.redirect("wrong_link.htm")
PHP Page redirects
header("Location: wrong_link.htm");
ASP, GET and POST variables
Request.QueryString("chat")
Request.Form("username")
PHP, GET and POST variables
@$_GET["chat"];       @ = ignore errors
@$_POST["username"];
ASP, prevent page caching
Response.CacheControl="no-cache"
Response.AddHeader "pragma","no-cache"
PHP, prevent page caching
header("Cache-Control: no-store, no-cache");
header("Pragma: no-cache");
ASP, Limit script execution time, in seconds
Server.ScriptTimeout(240)
PHP, Limit script execution time, in seconds
set_time_limit(240);
ASP, Timing script execution
s_t=timer 

...ASP script to be timed...

duration=timer-s_t
response.write duration &" seconds"
PHP, Timing script execution
$s_t=microtime();

...PHP script to be timed...
  
$duration=microtime_diff($s_t,microtime());
$duration=sprintf("%0.3f",$duration);
echo $duration." seconds";
  
//required function
function microtime_diff($a,$b) {
  list($a_dec,$a_sec)=explode(" ",$a);
  list($b_dec,$b_sec)=explode(" ",$b);
  return $b_sec-$a_sec+$b_dec-$a_dec;
}

File System Functions

ASP, create a file system object (second line is wrapped)
'Required for all file system functions
fileObj=Server.CreateObject
 ("Scripting.FileSystemObject")
PHP, create a file system object
Not necessary in PHP
ASP, check if a file exists
pFile="data.txt"
fileObj.FileExists(Server.MapPath(pFile))
PHP, check if a file exists
$pFile="data.txt";
file_exists($pFile);
ASP, Read a text file
pFile="data.txt"
xPage=fileObj.GetFile(Server.MapPath(pFile))
xSize=xPage.Size  'Get size of file in bytes

xPage=fileObj.OpenTextFile(Server.MapPath(pFile))
temp=xPage.Read(xSize)  'Read file
linkPage.Close
PHP, Read a text file
$pFile="data.txt";
$temp=file_get_contents($pFile);  //Read file

Time and Date Functions

ASP, Server Time or Date
Now, Date, Time
PHP, Server Time or Date
date()
ASP, Date format (default)
Now = 5/16/2008 1:25:00 AM
Date = 5/16/2008
Time = 1:25:00 AM

Various ASP functions extract date parts:

Month(Date) = 5
MonthName(Month(Date)) = May
Day(Date) = 16
WeekdayName(Weekday(Date)) = Friday
WeekdayName(Weekday(Date),False) = Fri
PHP, Date format
There is no default format in PHP.
The date() function is formatted using codes:

date("n/j/Y g:i:s A") = 5/16/2008 1:25:00 AM

date("n") = 5
date("F") = May
date("j") = 16
date("l") = Friday
date("D") = Fri

Numeric Functions

ASP, convert decimal to integer
Int()

n=Int(x)
PHP, convert decimal to integer
floor()

$n=floor($x);
ASP, determine if a value is numeric
IsNumeric()

if IsNumeric(n) then ...
PHP, determine if a value is numeric
is_numeric()

if (is_numeric($num)) {...}
ASP, modulus function
x mod y
PHP, modulus function
$x % $y



Links:



bookmark and share:                    



[30 Comments]


  

Wonderful.

13 Jun 2006 11:49am

"This is an extremely helpful cross-reference. The only other thing I think you could add would be database functions like mysql_num_rows() (PHP) and the equivalent of while looping as related to $row["colname"] vs. connection.fields("colname") Keep expanding this! It'll make it so much easier for developers like myself to continue developing solid applications. Great work."
 


  

Sagar Sonker

16 Aug 2006 2:48am

"Excellent piece of info. I was searching for new line character in ASP, and found much more on this website... :)"
 


  

What a good cross reference!!

18 Oct 2006 5:59am

"This is a really good cross reference and it is helping me a lot. It will help all those programmers who want to learn PHP and they know ASP. Very good and thanks to the author."
 


  

Reference

09 Nov 2006 10:28pm

"This is a really good cross reference and it is helping me a lot. Its help me as a newbie in PHP. thanks to the author."
 


  

Small omission

14 Dec 2006 1:37pm

"Thanks for a really great reference. No need to add this to the comments, but just to let you know that ASP *does* have a command terminator : which allows more than one command on a line"
 


  

abo-3ziz

18 Jan 2007 7:07am

"thank for these info. these will really help us in our project which will translate from PHP to ASP.NET with C#."
 


  

Really good!

23 Jan 2007 7:58am

"thanks!, this saved my life!"
 


  

Rodrigo Silva

01 Feb 2007 6:01am

"A great list, altought a little biased towards PHP. My comments: - For new line character, vbNewLine is recommended over vbCrLf. The latter works, and its widely used, but it is obsolete and platform dependent. vbNewLine is much more elegant and platform independent. Platform independence may be not so relevant in ASP, but since it uses VBScript that can run on Mac, Palmtops, etc, vbNewLine is recommended. It is the one used on ASP .NET too. - ASP DOES have LTrim and RTrim"
 


  

Johan

01 Mar 2007 11:16pm

"great, you could add:
--------------
Session("foo") = "bar" /
session_start(); $_SESSION['foo'] = 'bar';
--------------"
 


  

Keshpur Mamabari, this is good

30 Mar 2007 4:28am

"Hi, this is a very good cross reference"
 


  

Brilliant!

06 Apr 2007 5:05am

"Very good idea too! Thanks a lot."
 


  

Ritesh

24 Apr 2007 2:12am

"hi. this is really useful for those who either know php or asp. thanks"
 


  

life saver

17 May 2007 9:22am

"i know i'm just repeating what everyone else has said before me, but this is a fantastic reference. i'm redeveloping a client's asp web app in php and you've just saved me about 3 days' worth of reading and cross referencing! this goes straight into FF bookmarks :)"
 


  

ASP command termination

18 May 2007 5:15am

"Note that ASP commands can be terminated using a colon :, allowing multiple commands per line. seb @ sebsworld"
 


  

Alex Baskov

18 Jun 2007 5:56am

"great reference!"
 


  

Tom Glenn

29 Jun 2007 2:15am

"Excellent article, will definitely help me a lot as I am originally a PHP programmer but my work requires me to use ASP. Thanks, and please do keep expanding!"
 


  

thanks - very helpful

02 Jul 2007 6:34am

"Thanks a lot - this is pretty helpful."
 


  

Great work, Thanks a LOT !!!

16 Jul 2007 6:09am

"Really nice to have this reference!! Thanks a lot!"
 


  

Victor

17 Aug 2007 7:52am

"Muito bom o guia!! Eu vou mecher justamente com as duas linguagens e as vezes fico perdido com as diferenças! Valeu!!!"
 


  

Awesome

09 Sep 2007 7:32am

"exactly what i needed for my assignment! thanks for this"
 


  

ASP Command Separator

03 Oct 2007 1:09pm

"FYI, statements (referred to in the reference as commands) in VB/VBA/VBScript may be separated with a statement terminator represented by the colon. For example, the following is acceptable and can be used to combine multiple statements on a single line of the source file, if desired: Dim s1: s1 = "Value1": Dim s2: s2 = "Value2" Please correct the reference with this information. Don't take my word for it. Try it with a VBScript, VBA code module, and an ASP page served up by IIS.

[Reply from Rob G]
Thanks for the information. IMHO I don't think its good programming style to have multiple statements on one line. I've noticed a number of things in ASP/VB that I feel make for sloppy programming, such as not honoring the case of variable names. I believe code is art and so I try to write code that is beautiful. =)"
 


  

lokesh yadav

05 Oct 2007 12:25am

"solved my all problems, so thanks"
 


  

Leo Todeschini

09 Oct 2007 5:59pm

"Great job, I develop in both languages but this piece of info is really relevant and helpful. Thanks a lot! Asap I'll be adding something like this on my blog, loved the idea (of course I'll give you the proper credits). Keep the nice work buddy. C-ya"
 


  

iDude

25 Oct 2007 12:43pm

"I use this website almost every day @ work to convert my old ASP/VB apps over to PHP. It has helped me greatly as a quick reference. Expanding the list a little and/or perhaps allowing people to submit entries (for approval) would be nice. Keep up the good work!

[Reply from Rob G]
Submit entries here in the comments and I'll review them and add them."
 


  

Good one for learner

02 Nov 2007 12:11am

"Hi. This is really good for those who know one language and are learning other one. Thanks design215"
 


  

Tomas

03 Nov 2007 3:19pm

"Really Useful. Congratulations and Thank you very much"
 


  

Fantastic time saver

14 Nov 2007 6:35am

"Saved me a bunch of time converting a stack of ASP pages into PHP. Thanks!"
 


  

Great comparision

19 Nov 2007 8:05am

"Hai... really it's very great stuff. Shaik Amjad"
 


  

Superb! BIG thank you!

18 Feb 2008 1:00am

"This was really useful. Exactly what i wanted. Being an ASP mind made me hard to handle PHP. This cross reference will help me to work with PHP although I am ASP minded. Got my point? I can work vice-versa without any fear of getting confused or being a mess! Again BIG thank you to the author."
 


  

Fantastic !!!!

07 Mar 2008 11:17pm

"really nice...... very helpful for us, thnxxxxxx a lots"
 

  

Leave a Comment

subject / name:

email: (Not Shown)

comment (html=OFF)