2016-11-10 10 views
0

配列の各要素を次の要素に連結したいと思います。私は、出力配列になりたい:すべてのヘルプは感謝foreachは各要素を次の要素に連結します

$url = preg_split("/[\s\/]+/", "test/test2/test3/test4"); 
foreach ($url as $dir) { 
    $dir .= $dir; 
} 

Array 
(
[0] => test 
[1] => test/test2 
[2] => test/test2/test3 
[3] => test/test2/test3/test4 
) 

は、私は自分自身に、各文字列を連結し、以下の方法を試してみました。

+2

あなたにエラーがありますか? ..間違った結果? .. 検索結果はありません ? .. どうしたの? – scaisEdge

+0

あなたは何をあきらめましたか? – AbraCadaver

答えて

1

たぶん、別の方法

<?php 
$data = array('test', 'test2', 'test3', 'test4'); 
for($i = 0; $i < count($data); $i++) 
{ 
    if($i != 0) 
    { 
    $new[ $i ] = $new[ $i - 1 ] .'/'. $data[ $i ]; 
    } 
    else 
    { 
    $new[ $i ] = $data[ $i ]; 
    } 
} 

のvar_dump($新)。

新しい値を持つ文字列とは、あなたの出力配列のための個別の値として追加concate各反復で出力

array(4) { 
    [0]=> 
    string(4) "test" 
    [1]=> 
    string(10) "test/test2" 
    [2]=> 
    string(16) "test/test2/test3" 
    [3]=> 
    string(22) "test/test2/test3/test4" 
} 
0
$url = preg_split("/[\s\/]+/", "test/test2/test3/test4"); 
$arr = array(); 
$str = ''; 
foreach ($url as $key => $dir) { 

    if ($key !== 0) { 
     $str .= '/' . $dir; 
    } else { 
     $str .= $dir; 
    } 

    $arr[] = $str; 
} 

+0

このコードスニペットは問題を解決するかもしれませんが、それがなぜ、どのように質問に答えるかは説明しません。 [あなたのコードの説明を含めてください](// meta.stackexchange.com/q/114762/269535)、本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 **フラグ/査読者:** [このようなコードのみの回答については、downvoteは削除しないでください!](// meta.stackoverflow.com/a/260413/2747593) –

1

あなたは$ my_arrayで

$url = explode("/", "test/test2/test3/test4"); 

$str =''; 
foreach($url as $key => $value){ 
    if ($str == '') { 
    $str .= $str; 
    } else { 
    $str .= '/'.$str; 
    } 
    $my_array[$key] = $str ; 
    echo $str . '<br />'; 

} 

var_dump($my_array); 
0

にで必要な結果を得る必要がありますがここでは簡単な方法です。単純な分割のためだけexplode()を使用:

$url = explode("/", "test/test2/test3/test4"); 

foreach($url as $value) { 
    $temp[] = $value; 
    $result[] = implode("/", $temp); 
} 

たびにループを介して、一時的アレイに電流値を加算し、結果の次の要素にそれを内破。

関連する問題