Пример использования массивов в веб-разработке - PullRequest
0 голосов
/ 08 марта 2009

Я говорил сегодня с человеком, который упомянул, что он использовал массивы при вызове параметров или по другим причинам при извлечении данных из базы данных и т. Д.

В основном мой вопрос: как бы вы использовали массивы в веб-разработке?

Например:

Если у вас был такой URL (сайт социальных знакомств)

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 ]

2 голосов
/ 08 марта 2009

Массивы позволяют легко хранить набор значений или пары ключ => значение внутри переменной. Это также позволяет легко перебирать набор значений.

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

Если вы передаете в функцию большое количество значений, и этот набор значений можно рассматривать как список или справочную таблицу, то вы должны использовать массив.

Пожалуйста, обратитесь к руководству по PHP для массивов для получения дополнительной информации.

Edit:

Я думаю, я понимаю, что вы имеете в виду сейчас. Может быть полезно сортировать «абстрактные» вызовы вашей базы данных, создав функцию, которая принимает значения в виде массива. Например:

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 голос
/ 08 марта 2009

Массивы - важная особенность любого языка, они имеют произвольный доступ O (1) ( с постоянным временем ) и могут использоваться в качестве базовой структуры данных для создания более сложных типов.

В частности, о 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"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...