0

配列内の要素の長さを確認して、それぞれが 2 文字を超えていることを確認するにはどうすればよいですか。phpを使用して...

元。$this_array=array ("this", "and", "this", "and", "th")

4

5 に答える 5

2

他に何かする必要がない限り、ループは少しやり過ぎかもしれません。フィルタリングははるかに効果的です。

<?
$this_array =  array("a", "this", "and", "this", "and", "th");

$this_array = array_filter($this_array, function($val){return strlen($val)>=2;});

print_r($this_array); // Array ( [1] => this [2] => and [3] => this [4] => and [5] => th )

注: これは PHP 5.3 以降でのみ機能します。

于 2012-07-27T05:01:21.427 に答える
1
foreach($this_array as $val) {
   $valLength = strlen($val); //gives length 
   if($valLength < 3) {
       //something here, less than 2 char
   } 
}
于 2012-07-27T04:59:24.517 に答える
1
foreach ($this_array as $key => $value)
{
    if (strlen($value) < 3)
    {
        echo "{$value} is too short<br />";
    }
}

foreachを参照してください

于 2012-07-27T05:00:17.027 に答える
1
foreach($this_array as $value) {
   $strlen = strlen($value);
   if($strlen <= 2)
   {
     echo '$value is '.$strlen.' characters long<br />';   
     // do something with it
   }
}
于 2012-07-27T05:00:50.117 に答える
0
$this_array=array ("aa", "bb", "cc", "asd", "aa");    



function lengthCheck($v, $w)
    {
     global $lengthOK;
       $len=  strlen($w);
       if($len<3)
       {
        $lengthOK=false;
       }
        return $lengthOK;
    }


    $lengthOK=true;// set everytime when you call "lengthCheck"
    $b = array_reduce($this_array, "lengthCheck");

    var_dump($b);

$b は true/flase になります。つまり、すべての要素の長さが 3 以上の場合は TRUE、それ以外の場合は False です。

于 2012-07-27T05:05:30.060 に答える