Differences between PHP and ASP.NET

In response to a thread on the ASP.NET Forums I decided to publish the answers in an overview on my blog.

Someone asked on what the difference were between PHP and ASP.NET and how he did certain things.

My answers are based on using C# as the language for your ASP.NET application.

__________________________________


1. Is there any difference between '' and "" in ASP.NET?

Yes, ' ' is used for characters while " " is for strings.

Take this for example:
'a' = a in memory
"a" = a and \0 in memory

Something usefull about escaping in ASP.NET is the following:
@"bla\bla" == "bla\\bla"

A string with an @ in front of it is seen as a literal, where you don't have to escape special characters.


2. How would I do something like: print $variable.'string'; in ASP.NET?

You would use the following: Response.Write(variable + "string");
But it isn't very recommended to use Response.Write, take a look at all the server controls you have, like a Label for example.


3. Within an if language construct, what would be the equivalent of "and" and "or?"

Actually PHP supports the same being used in ASP.NET:

and --> &&
or --> ||

Example:

if (((number == 5) && (number2 != 8)) || (admin == true)) {

      // do stuff

}


Would correspond to:
if (number = 5 AND number2 NOT equal to 8 ) OR we're an admin., do stuff.


4. Would someone be able to tell me how I could make an ASP.NET equivalent of this PHP Function:

function num($number){
        return '#' . str_pad($number, 3, '0', STR_PAD_LEFT);
}


You need a function which returns a string, and which formats a string:

public string num(int number) {

      return String.Format("#{0}", number.ToString("000"));

}



5. How do I create a mutidimensional array?

Try this:

// 2 dimensional arrays

int [,] a1;

a1 = new int[3,2];

int [,] a2 = {{1,2}, {3,4}, {5,6}};

 

// jagged arrays

int[][] a3;

a3 = new int[3][];

a3[0] = new int[5]{1, 2, 3, 4 ,5};

a3[1] = new int[3];

a3[2] = new int[4]{21, 22, 23, 24};

Loop over them to see the elements.

__________________________________

Got a question yourself? Ask it, and I'll try to help :)

7 Comments

  • Sorry, where's the asp.net?

  • String literals starting with @ are not string where you don't have to escape special characters, they are strings where you can't escape those. Don't have to would mean that you can, but don't have to if you don't want to but that's not how @ strings work. @ just ignore standard escape sequences, \ is considered a literal \ character, not an escape sequence mark. You cannot use escape sequences at all in @ strings. If you want to include a new line character in your string you can't use @ literal.

  • Strings are not stored the way you mention in your post. They are specifically stored with at least an array length, string length, and an array of WCHAR. ArrayLength can be larger than StringLength and there is a null terminating character applied to the end, so at least that much was correct. Strings have far more overhead than a simple extra WCHAR....



    DWORD m_ArrayLength;

    DWORD m_StringLength;

    WCHAR m_Characters[0];

  • php,

    you can fit "anything" in a var..

    string, int, char :)



    C#

    a var can only contain one type of data-struct, no?

  • If you set your mind to it and search long enough, I'd say you could do most of the things you want with any of both.

  • there is alot of diffrence between PHP and ASP.

    1. Cost wise(microsoft product) licence required.

    2.speed.

    3.platform compatibility.

    4.additional cost if use the tools in the asp.

    5.Base langauge.

    6.database connectivity.

    etc.

  • PHP is scripting Language but ASP.NET is Designing Tool.ASP.Net has a lot of controls to designing process bur PHP contains only scripting tabs and minimum no.of controls are used.

Comments have been disabled for this content.