2013-08-20 140 views
0

我想从URL字符串中创建一个PHP数组。PHP从URL获取数组

我的代码:

$files = urldecode($_POST['files']); // The String 
error_log($files); // Output to see how it looks like 
parse_str($files); // parse... 
error_log($files[0]); // See the result 

我的error_log后,我运行脚本:

file[]=U07ttCL89 
f 

(如果有人想知道为什么我输出,error_log - 是因为我看不到输出)

所以问题是:为什么解析后返回f?我看了一下PHP手册,然后去做别的事情! (http://php.net/manual/en/function.parse-str.php

$_POST['files']]语法是:

file[]=XXXXXXXXX&file[]=YYYYYYYY&file[]=ZZZZZZZZZ 

希望你明白。 谢谢。和对不起我的英语

+0

我刚刚看了一个音符:'此功能自动urldecodes值(在该文档中未提及).' – 2013-08-20 20:36:07

回答

1

你有一个错字。新变种是filefiles;)

error_log($file[0]); // See the result 

您可以访问一个字符串像数组。 如果使用$ files [0],则输出存储在$ files中的字符串的第一个字符。 在你的情况下,它是file[]=XXXXXXXXX&file[]=YYYYYYYY&file[]=ZZZZZZZZZ

+0

我怎么没注意到?我觉得很愚蠢。非常感谢你的帮助!欣赏它! – HtmHell

+0

LOL当你读到你的答案时,你应该看到我的脸。 – HtmHell

+0

是的,这并不容易。我一开始并没有看到,也是:) –

-1

使用此:

$files = array(); 
$count = count($_POST['files']); 
for($i=0;$i<$count;$i++){ 
    $files[] = $_POST['files'][$i]; 
} 

UPDATE:答案是简单的实际

$files = $_POST['files']; 
+0

它输出相同的 - 'F' – HtmHell

+0

帮我一个忙,运行线路: ** error_log(json_encode($ _ POST))**并在下面的评论中发布回复 – wedstrom

+0

没关系。你用你愚蠢的错字欺骗了我! – wedstrom