Как мне объединить эти слова в массиве с "" в PHP? - PullRequest
0 голосов
/ 30 мая 2009

Я хочу объединить часть [слова] каждого массива с "", и структура массива выглядит следующим образом:

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, которая может сделать это? Потому что я думаю, что зацикливание менее эффективно.

Ответы [ 2 ]

6 голосов
/ 30 мая 2009

взорваться + массив_карт :

function func($a) {
    return $a['word'];
}
implode(' ', array_map('func', $x));
1 голос
/ 30 мая 2009

Ну, что бы ни случилось, цикл будет иметь место, даже если он внутренний.

Вы можете использовать array_walk:

$str = "";

function word_append($value, $key) { 

   global $str;

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

};

array_walk($func, $array_of_words);

$ str теперь должен содержать добавленный текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...