-2

例:

a
aaa
aaaaa
aaa
aa

指定された長さが 3 の場合、次のように表示されます。

aaa
aaa

私は持っている:

$words = explode(" ", $_POST['txt']);
for ($i=0; $i<count($words); $i++){ 
echo $words[$i] . " ";

これは foreach で実行できますか?

4

3 に答える 3

2
$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";
    }
}

多分?

于 2013-06-19T19:27:51.403 に答える
2

はい。

$length = 3;
$words = explode(" ", $_POST['txt']);

foreach ($words as $word) {
  if (strlen($word) == $length) {
    echo $word . ' ';
  }
}
于 2013-06-19T19:27:51.710 に答える
2

でこれを行うことができます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+ が必要です。

于 2013-06-19T19:29:19.450 に答える