2016-09-12 3 views
-1

私は文字列の配列を持っています。私は、例えば、別の配列にその配列と場所ごとに3つの文字をループにしたい:PHP:str_splitを使用して既存の配列に移動する

array('abcdefg', 'hij', 'klm'); 

は次のようになります。私は、以下の作成した

array('abc', 'def', 'hij', 'klm'); 

$masterArr = array(); 

    foreach($arr as $i){ 
    array_push($masterArr, (str_split($i,3))); 
    } 

しかしstr_split $ masterArray内にサブ配列が作成されます。

str_splitを使用して$ masterArrayに直接プッシュする方法はありますか?

+0

を使用して、それを達成することができますか?長さが3未満のものはすべて捨てられていますか? – insertusernamehere

+0

@insertusernamehere理想的ですが、後でmasterArrで扱うことができます – MeltingDog

答えて

3

あなたは "` G`" に何が起こったarray_merge()fucntion

$masterArr = array(); 
foreach($arr as $i){ 
    $masterArr= array_merge($masterArr, str_split($i,3));  

    // OR if you need only elements which have exact 3 characters then use below line 
    // $masterArr= array_merge($masterArr, array_filter(str_split($i,3), function($k) {return strlen($k)==3;}));  
} 
+1

'array_filter()'は、配列をクロージャではなく最初の引数にする必要があります。 –

+0

はい、私はそれを更新しました。 –

関連する問題