0

配列のキーと値をマージして、特に更新できる関数を探しています。

$array = array('testing1','testing2','testing3','testing4','testing5','testing6','testing7','testing8','testing9','testing10','testing11','testing12','testing13','testing14');

このように、10個の値を「スペース」とマージしたいだけです。

$finalarray = array('testing1 testing2 testing3 testing4 testing5 testing6 testing7 testing8 testing9 testing10', 'testing11 testing12 testing13 testing14'); 

PHPで同じことをする関数はありますか?

4

2 に答える 2

2

array_chunkで使用できますarray_map

    $array = array('testing1','testing2','testing3','testing4','testing5','testing6','testing7','testing8','testing9','testing10','testing11','testing12','testing13','testing14');
    $final = array_chunk($array,10);    
    $final = array_map(function ($n){return implode(" ", $n);}, $final);

出力

array
  0 => string 'testing1 testing2 testing3 testing4 testing5 testing6 testing7 testing8 testing9 testing10' (length=90)
  1 => string 'testing11 testing12 testing13 testing14' (length=39)
于 2012-09-27T06:41:09.093 に答える
0

直接のphp関数は頭にありませんが、次のようなものを試すことができます。

$newArray = count($array) > 0 ? array ($array[0]) : array();
for ($i=1;$i<count($array);$i++) {
    if ($i % 10 == 0) {
       $finalarray[] = $newArray;
       $newArray = array ($array[$i]);
    } else {
       $newArray[] = $array[$i];
    }
}
if ( count($newArray) > 0 ) {
    $finalarray[] = $newArray;
}
于 2012-09-27T06:45:48.447 に答える