2011-04-14 60 views
0

我似乎无法获得我的网址中的'required_ids'数组传递到一个PHP变量。基本上我只想在php中计算数组的大小,所以我可以把这个数字放在数据库中。我遇到的问题是将url字符串放入一个变量中以将requested_ids拉出。无法从url检索变量

http://www.somewebsite.com/somedirectory?sk=14058889342675&requested_ids%5B0%5D=51630110&requested_ids%5B1%5D=19109453492 

任何想法如何快速计算requested_ids的数量? 感谢

+0

向我们显示codeeee – Galen 2011-04-14 17:41:03

+0

'required_ids'不在该网址中。你的意思是'requested_ids'吗?在每个键之前应该有一个'='符号。 – 2011-04-14 17:46:17

+0

是的,我的意思是'requested_ids':)关于'='符号,他们在'requested_ids%5B0%5D'之后,因为特殊字符转义,实际上是'requested_ids [0]'。我会暂时发布代码。 – entekis 2011-04-14 20:48:19

回答

2

如果你使用这个,看看有什么是$_GET(其中包含在URL中传递的值)

var_dump($_GET); 

你会得到以下类型的输出:

array 
    'sk' => string '14058889342675' (length=14) 
    'requested_ids' => 
    array 
     0 => string '51630110' (length=8) 
     1 => string '19109453492' (length=11) 


这意味着您可以使用$_GET['requested_ids']来了解该阵列中的内容。

而且,该阵列上使用count()

var_dump(count($_GET['requested_ids'])); 

您将获得:

int 2 


基本上,当值使用[]的查询字符串,像这样被传递:

requested_ids[0]=51630110&requested_ids[1]=19109453492 

他们最终在一个PHP数组中,位于$_GET,名为requested_ids

+0

感谢您的快速反应,我会尝试这些建议,并发回 – entekis 2011-04-14 17:48:39

+0

是的,就像我想的那样。我以前试过这个,我得到的结果仍然是int 0。上面的url是邀请Facebook应用上的朋友出来的,因此我正在计数request_ids aka:invites。我也试过POST和REQUEST,但仍然没有运气。 – entekis 2011-04-14 18:35:37

+0

到目前为止,你已经拼出参数名称3种不同的方式。希望你已经尝试了整个$ _GET的var_dump,正如PMartin建议的 – horatio 2011-04-14 20:53:02

0

您可以尝试在$_GET['recrivied_ids']阵列上使用PHP的count()。或者你可以在发送前serialize(非常有用)requested_ids数组,然后通过_GET发送。它应该比URL中的数组更容易。

例子:

echo 'Parameters number: ' . count($_GET['requested_ids']); 

当连载:

$requested_ids = unserialize($_GET['requested_ids'); 
    echo count($requested_ids); 

希望它能帮助。 ;)