PHP在if语句之外更改数组

时间:2013-08-28 15:40:04

标签: php

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

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

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

3 个答案:

答案 0 :(得分:1)

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

$GROUP_ID[] = $a;

这可以在显示的the php manual上看到:

<?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
)

您会看到追加工作的方式

答案 1 :(得分:0)

附加到数组

$GROUP_ID[] = $a;

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

$GROUP_ID = array_merge($GROUP_ID, array($a));

答案 2 :(得分:-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" }