Web开发中使用的数组示例

时间:2009-03-08 03:54:38

标签: php arrays

我今天和一个人谈过,他提到他在调用参数时使用数组,或者在从数据库中提取数据时使用其他原因等。

基本上我的问题是:你如何在网络开发中使用数组?

例如:

如果您有这样的网址(社交约会网站)

http://www.example.com/page.php?sid=1&agefrom=30&ageto=40&sex=female&loccation=los angeles

我将如何查询浏览页面(显示用户列表时)

$id = mysql_real_escape_string($_GET['id']);
$agefrom = mysql_real_escape_string($_GET['agefrom']);
$ageto = mysql_real_escape_string($_GET['ageto']);
$sex = mysql_real_escape_string($_GET['sex']);
$location = mysql_real_escape_string($_GET['location']);

mysql_query("select from table where id = '$id' and  agefrom='$agefrom' [.....the rest of the query]")

这可以用数组完成吗?如果未选择地点或未输入年龄,该怎么办?如果我做了查询,它可能会失败。

我希望我的问题现在更清楚了。

2 个答案:

答案 0 :(得分:2)

数组可以轻松保存一组值,或者键=>值对,在变量内。它还可以轻松迭代一组值。

foreach ($myarray as $key => $value)
{
  // do something with this key and value
}

如果要将大量值传递给函数,并且这组值可以被认为是列表或查找表,那么您将使用数组。

consult the PHP manual on arrays了解详情。

修改

我想我现在明白你的意思了。通过创建一个接受值作为数组的函数来排序“抽象”数据库调用会很有帮助。例如:

function editrecord($recordid, $values)
{
  // SQL is generated by what is in $values, and then query is run
  // remember to check keys for validity and escape values properly      
}

当然,这是一个极端的简单。

答案 1 :(得分:1)

数组是任何语言的重要特征,它们具有O(1)(constant time)随机访问权限,可用作基础数据结构,以制作更复杂的类型。

特别是在谈论about PHP时,非常经常使用数组,语言本身会使用它们来获取GETPOST参数。

要获取数据,您还可以在PHP中使用数组。

您可以使用mysql_fetch_assoc,这会将数据库中的结果行作为关联数组进行重新绑定,数组的每个索引都代表当前行的数据列:

//...
$sql = "SELECT id as userid, fullname, userstatus 
        FROM   sometable
        WHERE  userstatus = 1";

$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    // Here, the $row variable is an associative array.
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}