我今天和一个人谈过,他提到他在调用参数时使用数组,或者在从数据库中提取数据时使用其他原因等。
基本上我的问题是:你如何在网络开发中使用数组?
例如:
如果您有这样的网址(社交约会网站)
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]")
这可以用数组完成吗?如果未选择地点或未输入年龄,该怎么办?如果我做了查询,它可能会失败。
我希望我的问题现在更清楚了。
答案 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时,非常经常使用数组,语言本身会使用它们来获取GET和POST参数。
要获取数据,您还可以在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"];
}