手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

从 PHP 迁移到 ASP.NET

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
$i = 0;

foreach($a as $v) {

print "\$Key[$i]$v \n";

$i ;

}

for each v in a

response.write a(v) (v & vbcrlf)

next

数组

PHP 中的数组的功能与 Visual Basic .NET 中的数组的功能截然不同。PHP 中的数组实际上是关联数组,但是可以像索引或关联数组那样使用。而 Visual Basic .NET 中的数组是索引数组。Visual Basic .NET 不支持关联数组(但您可以自己创建它们,请参阅下面的“集合”)。其他 ASP.NET 语言支持这些类型的数组,但 Visual Basic .NET 并不支持,这可能给 PHP 开发人员提出了一个难题,因为他们并不习惯使用这种更常见的索引数组,并且可能会希望在 Visual Basic .NET 中创建关联数组模型。表 10 显示了 PHP 和 Visual Basic .NET 中的简单数组示例。

表 10:创建数组的示例

PHP Visual Basic .NET
$a = array (0,1, 2); Dim MySingleArraya() As Integer =

New Integer (2) {0,1,2}

与其他变量一样,Visual Basic .NET 数组中的变量也是使用 Dim 语句声明的。变量名后面带有一对或多对括号,表明它是数组而不是标量(包含单个值的变量)。

创建 Visual Basic .NET 数组时,还必须将其声明为保存特定类型的数据。如果指定的类型是 Object(作为 .NET 中所有对象类型的基础的普通类型),则此数组可以保存任何类型的数据,但是从数组中检索值时,必须将值转换为原来的类型。

Visual Basic .NET 数组可以是嵌套的数组,也可以是多维数组。Visual Basic .NET 中有许多与 PHP 相对应的用于处理数组的函数,但有一个例外。由于 Visual Basic .NET 不支持关联数组,因而不存在用于根据数组的“主键”来访问、索引或执行任何操作的函数。Visual Basic .NET 中不存在这样的“主键”。

虽然本文多次提到 Visual Basic .NET 不支持关联数组,但是可以创建集合来代替数组。集合与关联数组有些相似,可以使用集合来解决某些类似的问题。

在某些情况下,将项目存储在集合中要比存储在数组中更有效。

如果要处理一组小型的动态项目,则可以使用集合。要创建集合,只需如下面的示例代码所示声明并实例化一个 Collection

Dim myCollection As New Collection()

然后,您可以使用 Add 方法向集合中添加成员。在此示例中,我们创建了四个字符串并将它们添加到集合中。您还可以选择添加一个唯一的 String 值作为集合成员的主键。该值作为 Add 方法的第二个参数传递给集合。

Dim w, x, y, z As String

w = "key1"

x = "key2"

y = "key3"

z = "key4"

myCollection.Add(w, "1")

myCollection.Add(x, "2")

myCollection.Add(y, "3")

myCollection.Add(z, "4")

虽然这看起来类似于在 PHP 中创建关联数组,但集合是一种截然不同的事物,因为它本身就是一个对象。对于转到 ASP 的 PHP 开发人员,我们建议在尝试在 Visual Basic .NET 中创建关联数组模型之前先了解一下 Microsoft 的 Visual Basic .NET Language Specification。

管理状态

任何 Web 应用程序中都很常见的一个任务就是管理状态,该任务通常是使用 Cookie 或应用程序状态管理构造(如 Session 变量)来完成的。Visual Basic .NET 具有与 PHP 类似的用于处理状态的方法。

设置和检索 Cookie

在这两种环境中设置 Cookie 都是比较繁琐的。表 11 显示了在这两种语言中编写然后读取 Cookie 的示例。

表 11:设置和检索 Cookie

PHP Visual Basic .NET
<?php

$value = 'something from

somewhere';

setcookie ("TestCookie",

$value,time() 3600); /*

expire in 1 hour */

?>

and to retive the set cookie

<?

echo $_COOKIE["TestCookie"];

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!