为什么$ _GET变量会覆盖整个数组?

时间:2011-10-03 16:28:44

标签: php arrays foreach

我在页面上有每个id的标签flinstones.php(标签可以是不同的顺序)

$tag_array示例:

id 123 = wilma, fred, bam bam, dinosaur
id 124 = dinosaur, bam bam, fred, wilma

var_dump($tags_array)会返回此信息:

array(4) { 

    [0]=> string(5) "wilma"

    [1]=> string(4) "fred"

    [2]=> string(7) "bam bam"

    [3]=> string(8) "dinosaur"

} 

现在一切都应该如此。我在链接参数中使用第一个标记,如下所示:
<a href="pandorum?tag=$tag1">$tag1</a>

当我回到带有链接变量的同一页面时,会出现问题 flinstones.php?tag=fred

现在我的var_dump($tags_array)给了我这个而不是上面的所有值。

array(1) {

    [0]=> string(4) "fred" 

} 

这会将我的$ tag1更改为fred,而不是wilma为id 123和fred而不是dinosaur为id 124。

有没有办法为id调用原始*first tag*

flinstones.php                                flinstones.php?tag=fred
id 123 = *wilma*, fred, bam bam, dinosaur     id 123 = fred (should be wilma)
id 124 = *dinosaur*, bam bam, fred, wilma     id 124 = fred (should be dinosaur)

1 个答案:

答案 0 :(得分:3)

检查是否启用了register_globals。如果是,那么你用你的本地版本来破坏GET变量(所以在你的代码中使用不同的变量)。

这是一个链接:http://www.php.net/manual/en/ini.core.php#ini.register-globals

(我记得他们将默认设置从开启到关闭 - 这是一个PITA回去修复代码)