2013-02-25 31 views
0

從指定網址的所有命名參數我有一個關於這個疑問1 ...提取CakePHP中

我有這樣

http://www.SpiderWeb.com/vendors/search_results/scid:0/atr:1/mbp:1/bc:2/bc:1/mbpo:2/atrt:5/atop:1/opel:4

我想提取所有命名參數的URL在一個數組變量,這樣我有變量的名稱,以及它的價值在網址,以便我可以使用它們進行一些處理...

是否有某種方式,我可以實現這個uisng一些build-在功能上而不是指定它們單獨

$some_var = $this->request->params['named']['id']; 

我想那是因爲命名參數都是動態的....

繼承人此更新解決方案resaon ...

<?php 
$url = 'http://www.SpiderWeb.com/vendors/search_results/scid:0/atr:1/mbp:1/bc:2/bct:1/mbpo:2/atrt:5/atop:1/opel:4'; 
$arr_url = parse_url($url); 
//print_r($arr_url); 
$res = explode("/vendors/search_results/",$arr_url['path']); 
//print_r($res); 
//print_r($res[1]); 
$vars = explode("/",$res[1]); 
//print_r($vars); 
$result = array(); 
foreach($vars as $key => $val){ 
    if (strpos($val, ":") !== false) { 
    $newvars = explode(":",$val); 
    //print_r($newvars); 
    $result[$newvars[0]] = $newvars[1]; 
    } 
} 
print_r($result); 
?> 
+0

對不起球員忘記提到該URL從DATABSE檢索和輸出中應該像陣列 ( [SCID] => 0 [ATR] => 1 [MBP] => 1 [BC] => 2 [BC] => 1 [mbpo] => 2 [ATRT] => 5 [頂上] => 1 [歐寶] => 4 ) – 2013-02-26 03:58:03

回答

0

嘗試此:

$url = 'http://www.SpiderWeb.com/vendors/search_results/scid:0/atr:1/mbp:1/bc:2/bc:1/mbpo:2/atrt:5/atop:1/opel:4'; 

$myarr = parse_url($url); 


$res = explode("/",$myarr['path']); 

foreach($res as $val){ 
    if (strpos($val, ":") !== false) { 
    $vars = explode(":",$val); 
    $$vars[0] = $vars[1]; 
    } 
} 

echo $scid; 
+0

編輯anser請檢查 – 2013-02-25 12:04:45

+0

Thankyou對於這段代碼片段,我必須做一些修改才能得到想要的結果編輯的結果,現在它很好... 再次感謝非常...我也相應地更新了你的代碼.... – 2013-02-27 04:02:55

1

通過命名參數數組只是環

foreach ($this->request->params['named'] as $name => $param) { 
    pr("The param name is {$name}"); 
    pr("The param value is {$param}"); 
} 
+0

對不起,我忘了提及,我的網址實際上是從數據庫中檢索。所以我認爲我不能得到$ this-> request-> params ['named']中的值.... – 2013-02-26 03:36:54