例:
a
aaa
aaaaa
aaa
aa
指定された長さが 3 の場合、次のように表示されます。
aaa
aaa
私は持っている:
$words = explode(" ", $_POST['txt']);
for ($i=0; $i<count($words); $i++){
echo $words[$i] . " ";
これは foreach で実行できますか?
$words = explode(" ", $_POST['txt']);
$length = 3;
foreach($words as $word) {
// mb_strlen to take multibyte characters into account
if(mb_strlen($word) == $length) {
echo $word . "\n";
}
}
多分?
はい。
$length = 3;
$words = explode(" ", $_POST['txt']);
foreach ($words as $word) {
if (strlen($word) == $length) {
echo $word . ' ';
}
}
でこれを行うことができますforeach
。ただし、$words
が配列の場合は、次のような配列関数のいずれかを利用できますarray_filter()
。
$length = 3;
$words = array_filter($words, function($word) use ($length) {
return mb_strlen($word) == $length;
});
print_r($words);
注: PHP 5.3+ が必要です。