2009-05-29 7 views
-1

私は「」で[単語]各配列の一部を組み合わせたい、と次のように配列構造は、次のとおりです。これらの単語をPHPの配列で ""と組み合わせるにはどうすればいいですか?

Array ([0] => Array ([word] => Hello [off] => 0 [len] => 5 [idf] => 4.0235948562622 [attr] => en) [1] => Array ([word] => , [off] => 5 [len] => 1 [idf] => 0 [attr] => un) [2] => Array ([word] => long [off] => 6 [len] => 4 [idf] => 3.465735912323 [attr] => en)) 

Array ([0] => Array ([word] => time [off] => 11 [len] => 4 [idf] => 3.465735912323 [attr] => en)) 

Array ([0] => Array ([word] => no [off] => 16 [len] => 2 [idf] => 1.7328679561615 [attr] => en)) 

Array ([0] => Array ([word] => see [off] => 19 [len] => 3 [idf] => 2.7465307712555 [attr] => en) [1] => Array ([word] => ! [off] => 22 [len] => 1 [idf] => 0 [attr] => un) [2] => Array ([word] => How [off] => 23 [len] => 3 [idf] => 2.7465307712555 [attr] => en)) 

Array ([0] => Array ([word] => are [off] => 27 [len] => 3 [idf] => 2.7465307712555 [attr] => en)) 

Array ([0] => Array ([word] => you [off] => 31 [len] => 3 [idf] => 2.7465307712555 [attr] => en)) 

Array ([0] => Array ([word] => recently [off] => 35 [len] => 8 [idf] => 5.1986036300659 [attr] => en) [1] => Array ([word] => ? [off] => 43 [len] => 1 [idf] => 0 [attr] => un)) 

はこれを行うことができますPHPの組み込み関数はありますか?私はループが効率が悪いと思うので。

答えて

6

implode + array_map

function func($a) { 
    return $a['word']; 
} 
implode(' ', array_map('func', $x)); 
+0

'array_map'の最初のパラメータは文字列でなければなりません。 – Gumbo

+0

array_mapは元の配列を変更しませんか? – Kazar

+0

私の謝罪は、そうではないようです。 – Kazar

1

何が起きても、内部であってもループが発生します。

あなたはあるarray_walk使用することができます

$str = ""; 

function word_append($value, $key) { 

    global $str; 

    $str .= $value['word'] . " "; 

}; 

array_walk($func, $array_of_words); 

の$ strは添付のテキストが含まれている必要があります。

+0

私はあなたがあるarray_walkかarray_mapを意味するかどうか混乱していますか? – omg

+0

私のお詫びは、それはタイプミスでした、私はarray_walkを意味しました。答えに訂正されました。 – Kazar

+0

"内部であってもルーピングが行われます。 Trueですが、内部であればループが速くなるでしょう。 –

関連する問題