2012-01-25 26 views
-1

私が配列している場合:配列値をマージするにはどうすればよいですか?

Array 
(
    [0] => H 
    [1] => e 
    [2] => l 
    [3] => l 
    [4] => o 
    [5] => 
    [6] => F 
    [7] => r 
    [8] => i 
    [9] => e 
    [10] => n 
    [11] => d 
) 

をとキーに基づいて、配列の値をマージして、新しい配列で終わると思った:

Array 
(
    [0] => Hell 
    [1] => o 
    [2] => Friend 

) 

いただきまし行うための最善の方法だからPHPで?

+1

あなたは、「キーに基づく」によって何を意味するかをより具体的だろうか? – sdleihssirhc

+2

その「地獄」について特別なものは何か: – codaddict

+0

私には、あなたがスペースで分割しない限り、全く変わったようです。 –

答えて

0

したい部分を(range()は、配列を返す)を取得し、その配列を養うために使用range()配列を文字列にマージするにはimplode()にしてください(implode()は文字列を返します)。

implode(range(0,3))は、Hellを返す必要があります。

以前の操作では、ellが削除されません。配列の他の部分を削除するには、あなたがこのような言葉で区切ることができunset()

+0

ありがとう、これは私が探していた手掛かりです! – 7wonders

0

あなたは新しい配列を作成し、以前の配列の値を(あなたが望むインデックスに/から)連結しなければなりません。あなたの配列内の単語をどのように分割したいのか正確には分かりません。なぜ地獄Oフレンド?

<?php 
    $arr_bis = array(); 
    $temp= ''; 
    $arr = array('h', 'e', 'y'); 
    foreach ($arr as $value) { 
     $temp.=$value; 
    } 

    array_push($arr_bis, $temp); 
?> 

私がそれを行うことができると思いますどれだけ、完全なソリューションではありません!

0

を使用します。

$input = Array('H','e','l','l','o','','!'); 

$merged = array(); 

$word = ''; 
foreach ($input as $k=>$v) { 
    if (!empty($v)) { 
     $word .= $v; 
    } else { 
     array_push($merged, $word); 
     $word = ''; 
    } 
} 
array_push($merged, $word); 

var_dump($merged); 
関連する問題