查询字符串

查询字符串术语被视为统一资源定位器 (URL) 的一部分。
它是一系列键值对的形式。
通常,它用于创建典型的 url 或者从 URL 获取数据。

因此,我们可以将查询字符串用于不同的目的,例如搜索关键字、网址构建、特定网页跟踪等等。

在 http_build_query() 中传递多维数组

在本节中,我们将 $vars 视为包含员工数据的多维数组。
一旦通过 http_build_query() 方法,它将返回一个复杂的 url 查询字符串。

下面是一个例子:

<?php
$vars = array('employee'=>array('name'=>'Brown',
                            'age'=>41,
                            'dept'=>'IT',
                            'dob'=>'9/22/1980'),
              'role'=>array('engineer', 'developer'));
$qs = http_build_query($vars);
$url = 'http://www.example.com/search.php?' . $qs;
echo $url;
?>

此代码将返回以下 url 查询字符串:

http://www.example.com/search.php?employee%5Bname%5D=Brown&employee%5Bage%5D=39&employee%5Bdept%5D=IT&employee%5Bdob%5D=9%2F22%2F1980&role%5B0%5D=engineer&role%5B1%5D=developer
PHP中如何在 URL 查询字符串中传递数组

PHP 包含用于创建 URL 编码查询字符串的 http_build_query() 方法。
此方法仅适用于 PHP 5 及以上版本。
在此代码中,我们将学习如何使用 PHP 在 URL 查询字符串中传递数组。

http_build_query() 的语法如下所示:

http_build_query($query, $numeric_prefix, $separator, $encoded_type)

在 http_build_query() 中传递一个简单数组

在本节中,我们将使用 $vars 数组来生成 URL 查询字符串。
$vars 数组包含搜索关键字的数据,以及页码。

让我们看一个例子,这个数组被传递给 http_build_query() 方法来生成一个查询字符串:

<?php
$vars = array('page' => 26, 'search' => 'onitroad');
$qs = http_build_query($vars);
$url = 'http://www.example.com/search.php?' . $qs;
echo $url;
?>

上面表示的代码将返回以下 url 查询字符串:

http://www.example.com/search.php?page=26&search=onitroad

在 http_build_query() 中传递索引数组

现在,让我们看一个例子,其中 $vars 是一个包含员工数据的索引数组:

<?php
$vars = array('employee','brown','developer','emp_id' => '332');
$qs = http_build_query($vars);
$url = 'http://www.example.com/search.php?' . $qs;
echo $url;
?>

上面的代码将返回以下 url 查询字符串:

http://www.example.com/search.php?0=employee&1=brown&2=developer&emp_id=332
日期:2020-06-02 22:15:50 来源:oir作者:oir