如何将命名为PHP的$ _GET参数转换为数字索引数组?

时间:2019-01-07 13:48:59

标签: php arrays

我有一个类似以下的网站网址:

  

www.localhost.com/page?x=1&y=2

现在我想在数组中获取所有的GET参数,如下所示:

$array[0] = 1;
$array[1] = 2;

谢谢。

4 个答案:

答案 0 :(得分:1)

You can read from global $_GET directly and create array with keys:

$array = [
 'y' => $_GET['y'],
 'x' => $_GET['x'],
];

答案 1 :(得分:0)

您可以在PHP本身中使用$ _GET全局变量。

$array = [];

foreach($_GET as $key => $value) {

array_push($array, $value);
}

如果要获取该数组的所有值而不考虑键,则可以使用PHP array_values()

$array = array_values($_GET);

答案 2 :(得分:0)

您还可以使用更新的语法:

$array = [];
foreach($_GET as $key => $val)
{
    $array[$key] = $value;
}

答案 3 :(得分:0)

您还可以使用PHP的内置array_values()函数来完成相同的操作。根据文档:

  

返回值的索引数组。

这将保持值在$_GET数组中的原始顺序。例如:

/**
 * With $_GET input array of:
 *
 * ['a' => 'apple', 'c' => 'cantaloupe', 'b' => 'banana']
 */

$indexed = array_values($_GET);

/**
 * Will output an indexed array of:
 *
 * [0 => 'apple', 1 => 'cantaloupe', 2 => 'banana']
 */

请注意,这将保持原始排序顺序,并且不会重新索引输出数组(即使您的关联数组键是数字)。