2010-06-22 71 views
3

如何在PHP中通過url發送數組?如何通過PHP中的URL發送數組值?

我的產品ID,我想通過URL來利用這些ID的數組,因爲這是自從需要它在我工作中,我該怎麼辦呢?

一般osCommerce要求單個產品的插入,這反過來又給了我一個產品ID,我將它傳入網址並在購物車中顯示此添加的產品,但現在我已將多個產品添加到第一個不同產生的產品ID,我必須展示這些產品,他們將顯示在genaral以同樣的方式,爲此,我將在這裏需要所有這些生成的ID在URL

+0

這真的取決於你需要用它做什麼。需要更多信息才能正確回答您的問題。 – 2010-06-22 12:36:56

回答

9

你找http_build_query()。從php.net

實施例:

$data = array('foo'=>'bar', 
       'baz'=>'boom', 
       'cow'=>'milk', 
       'php'=>'hypertext processor'); 

echo http_build_query($data); 
// foo=bar&baz=boom&cow=milk&php=hypertext+processor 

echo http_build_query($data, '', '&'); 
// foo=bar&baz=boom&cow=milk&php=hypertext+processor 
1

您可以serialize()它或把它作爲?a[]=1&a[]=val2&someOtherArg=val頁面。這會給$_GET陣列,如:

array(
    'a' => array(
     0 => '1', 
     1 => 'val2', 
    ), 
    'someOtherArg' => 'val' 
) 

待辦事項,但是,你應該保持低於〜2K字符整個查詢。 (more

7

?ARR [] = ABC & ARR [] = PQR & ARR [] = XYZ & ARR [] = XXX

0

如果你是POST-ING的數據,然後將其命名與PHP數組的領域風格的語法:

<input type="text" name="myArray[]" value="A"> 
<input type="text" name="myArray[]" value="B"> 
<input type="text" name="myArray[]" value="C"> 

如果你想傳遞一個GET請求的數據,你可以單獨的數據,並採用分體式它的服務器端爆炸:

page.php?myData=A,B,C,D 

...

$myArray = explode(',', $_POST['myData']); 
0

如果已經有在陣列中的產品ID,則可以使用http_build_query()功能,這將在陣列編碼像這樣:

http://www.example.com/?pid[]=1&pid[]=2&pid[]=3 ...

希望有幫助。

3

以及我要做的是json_encodephp json)該數組並將其分配給php中的變量。那麼你可以通過urlencode這個變量通過url發送它。另一方面,你可以json_decode。如果你不知道它,請查找json。儘管它非常強大和有用。