-1
$GROUP_ID = array(1,2,3,4,5,6,7,8,9);

if ($_GET) {
    $a = $_GET['id'];
    $GROUP_ID = array($a); // 10
}

所以,是的,这段代码不起作用。我试过 push 但我需要完全替换数组,而且它们数组一开始不能为空。请问对此有何见解?

4

3 回答 3

1

如果要将 $a 的值放入数组中,请使用:

$GROUP_ID[] = $a;

这可以在php 手册中看到,其中显示:

<?php
// Create a simple array.
$array = array(1, 2, 3, 4, 5);
print_r($array);

// Now delete every item, but leave the array itself intact:
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// Append an item (note that the new key is 5, instead of 0).
$array[] = 6;
print_r($array);

// Re-index:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>

输出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

你会看到追加是如何工作的

于 2013-08-28T15:45:24.807 回答
0

追加到数组

$GROUP_ID[] = $a;

但是,既然你想要一个全新的数组,这会起作用。当然这会覆盖旧的,所以如果你想保留旧的,不要将它分配给$GROUP_ID

$GROUP_ID = array_merge($GROUP_ID, array($a));
于 2013-08-28T15:42:07.213 回答
-1

它应该工作:

$GROUP_ID = array(1,2,3,4,5,6,7,8,9);

if ($_GET) {
    $a = $_GET['id'];
    $GROUP_ID = array($a); // 10
} 

var_dump($GROUP_ID);

如果我要求index.php?id=v,我会得到:

array(1) { [0]=> string(1) "v" } 
于 2013-08-28T15:45:20.370 回答