我有一个数组,$words = array ('This', 'is', 'a', '', '', '', 'string');在这种情况下,我一直在寻找一个对前两个部分的字符进行计数this并且is应该计数的函数。这两个的结果将是5。我知道我可以简单地做一个 for,但是问题是我想对它们进行计数,如果它们达到70个字符或更高,那么我想将其余字符放在新的一行上。
3 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
如果您只想计算前2个,请执行以下操作:
$cnt = strlen($words[0]) + strlen($words[1]);
如果要在每70个字符后添加换行符,则最好使用foreach带有计数器的完整循环为:
$line = 0;
$lines = array();
foreach($words as $word) {
$line .= " " . $word;
if (strlen($line) > 70) {
$lines[] = $line . "\n";
$line = '';
}
}
MYYA
TA贡献1868条经验 获得超4个赞
array_map()与strlen一起为您解决问题。我想您知道剩下的事了。我希望您可以计算数组的前两个元素的总和,如果等于或大于70,则可以根据需要在新行中添加其余元素。
<?php
$words = array ('This', 'is', 'a', '', '', '', 'string');
$lengths = array_map('strlen', $words);
print_r($lengths);
?>
输出:
Array (
[0] => 4
[1] => 2
[2] => 1
[3] => 0
[4] => 0
[5] => 0
[6] => 6
)
- 3 回答
- 0 关注
- 165 浏览
添加回答
举报
0/150
提交
取消