2016-07-21 10 views
0

$member1$member2などのbasenameからの配列を作成しようとしています。$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 
) 

これまでのところ、私は無駄にその特定の値を抽出するためのさまざまな方法を試してみた、私はそれを抽出する方法についての方法を見つけることができませんでした特定の値。 私は助けに感謝します。

答えて

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

私は右のあなたを理解している場合、これを試してみてください。

$resArray = array(); 

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

array_mapbasename機能使用したソリューション:

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

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

を印刷します
関連する問題