2016-07-21 67 views
0

我試圖創建一個數組,只有從basename的url的$member1$member2等到$member(n)如何選擇和只打印嵌套數組的值?

我使用的基本陣列看起來是這樣的一個原因,因爲我使用它作爲另一個foreach循環。

所以該計劃看起來是這樣的:

$member1 = 'http://www.bla-bla.com/aFolder/anotherFolder'; 
$member2 = 'http://www.yada-yada.com/yetAnotherFolder/innerFolder'; 
$member3 = 'http://www.boo-boo.com/abcs/folder'; 

//this is the main array 
$teams = array(
    array("url" => $member1, "selector" => "a"), 
    array("url" => $member2, "selector" => "input"), 
    array("url" => $member3, "selector" => "h1"),...,...); 

我想建立一個將在年底創建數組中的值與basename($member(n))一個foreach。

我想我的結果是這樣的:

Array 
(
    [0] => anotherFolder 
    [1] => innerFolder 
    [2] => folder 
) 

到目前爲止,我已經嘗試了不同的方法來提取與無濟於事特定值,我無法找到如何提取方式具體的價值。 我會感謝您的幫助。使用array_mapbasename功能

$resArray = array(); 

foreach($teams as $team){ 
    $resArray[] = basename($team['url']); 
} 

回答

1
$basenames = []; 
foreach ($teams as $team) { 
    $basenames[] = basename($team['url']); 
} 
+0

實際上,解決了它,我有另一個問題,用空字符串替換空數組值,如果我插入/編輯我的問題,你應該能夠編輯你的答案,或者應該我開了一個新問題? – clusterBuddy

+0

聽起來像一個新的問題:) –

1
function getBaseName($array){ 
    $return=array(); 
    foreach($array as $arr) 
    { 
     $exp=explode("/",$arr['url']); 
     $return[]=array_pop($exp); 
    } 
    return $return; 
} 

$basenames[]=getBaseName($teams); 
1

如果我理解你的權利,試試這個

... 
$result = array_map(function($v){ return basename($v['url']); }, $teams); 
1
$array = array(); 

foreach($teams as $team){ 
     $array[] = basename($team["url"]); 
} 
print_r($array); 

將打印

Array 
(
    [0] => anotherFolder 
    [1] => innerFolder 
    [2] => folder 
)