- ベストアンサー
重複する文字を1つにするには?
「おしえて goo Okwave goo おしえて」 のように単語が半角スペースで区切られています。この単語で同じもの(ここでは"おしえて"と"goo")を1つにし 「おしえて goo Okwave」のように変換することは可能なのでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
------------------------------------------------ $str = "おしえて goo Okwave goo おしえて"; // 半角スペースを区切り文字とし、配列に格納する $array = explode(" ", $str); // 重複した値を除去する array_unique($array); // 配列の要素を半角スペースで連結する $result = implode(" ", $array); ------------------------------------------------- もしくは、 ------------------------------------------------- $str = "おしえて goo Okwave goo おしえて"; // 半角スペースを区切り文字とし、配列に格納する $array = explode(" ", $str); // 値をキーとして重複を除去する $tmp_array = array(); foreach($array => $value) { $tmp_array[$value] = $value; } // 配列の要素を半角スペースで連結する $result = implode(" ", $tmp_array); ------------------------------------------------- 配列関数には他にも色々あるので調べてみてください。
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
配列に落として、ユニークなものを拾うのが 楽かもしれませんね <?PHP $txt="おしえて goo Okwave goo おしえて"; $txt=implode(" ",array_unique(explode(" ",$txt))); print($txt); ?>
お礼
大変参考になりました。ありがとうございました。
- papillon68
- ベストアンサー率61% (42/68)
訂正です。 > // 重複した値を除去する > array_unique($array); // 重複した値を除去する $array = array_unique($array);
お礼
ありがとうございます。
- php504
- ベストアンサー率42% (926/2160)
スペースでexplodeして一旦配列にいれarray_uniqueで重複値を削除しスペースでimplodeしたら出来ます。
お礼
なるほど、ありがとうございました。
お礼
回答ありがとうございました。