我如何在一行中排序

时间:2017-12-15 01:41:46

标签: php string count

我有这样的字符串:

  $te = 'abcdefghijklmnopqrstuvwxyz1234567891011121314151617181920';

  $text=strlen($te);
  if($text<=10)       
  { 
  echo '2';
  }
  if($text>=11) 
  {
  echo '4';
   }
  if($text>=19) 
  { 
  echo '6';
  }
  if($text>=29) 
  {
  echo '8'; 
  }
 if($text>=39) 
  { 
  echo '10'; 
  }

我可以通过一行代码执行此操作吗?而不是太多(IF)? 或者,当$ text的字符非常大,如字符数达到数百时,我将如何达到预期的输出

提前非常感谢

1 个答案:

答案 0 :(得分:-1)

在我解释之前,我会等到听到我(现在的第四次尝试)是否正确......

代码:(Demo

<xsl:if>

输出:

$strings=[9=>'123456789',10=>'1234567890',
          11=>'12345678901',18=>'123456789012345678',
          19=>'1234567890123456789',
          28=>'1234567890123456789012345678',
          38=>'12345678901234567890123456789012345678'];
foreach($strings as $k=>$str){
    echo "$k => $str: ",($len=strlen($str))<11 ? 2 :2*(floor(($len+1)/10)+1),"\n";
}
//0 - 10 : 1 2
//11 - 18 : 2 4
//19 - 28 : 3 6
//29 - 38 : 4 8