2012-07-27 76 views
0

如何查找数组中元素的长度,以确保每个元素的长度超过2个字符。使用PHP是...

ex。 $ this_array =阵列( “此”, “和”, “这个”, “和”, “TH”)

+0

您可能需要使用foreach循环。 – 2012-07-27 04:57:16

回答

1
foreach($this_array as $val) { 
    $valLength = strlen($val); //gives length 
    if($valLength < 3) { 
     //something here, less than 2 char 
    } 
} 
+1

这应该是'<3'而不是'<2'。 – Conner 2012-07-27 05:03:53

1
foreach ($this_array as $key => $value) 
{ 
    if (strlen($value) < 3) 
    { 
     echo "{$value} is too short<br />"; 
    } 
} 

参见foreach

1
foreach($this_array as $value) { 
    $strlen = strlen($value); 
    if($strlen <= 2) 
    { 
    echo '$value is '.$strlen.' characters long<br />'; 
    // do something with it 
    } 
} 
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+

+0

http://codepad.org/u6yLmB0o – Conner 2012-07-27 05:05:20

+0

匿名函数仅在PHP 5.3中可用。这似乎是你提供的网站使用PHP 5.2.5。 – 2012-07-27 08:30:26

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工作将有真/ FLASE。即如果所有元素的长度都是3或更大,则为真,否则为假。