如何strlen数组的前两部分?
How to strlen first two parts of an array?
我有一个数组,
$words = array ('This', 'is', 'a', '', '', '', 'string');
我一直在寻找一个计算前两部分字符的函数,
在这种情况下,应该计算 this
和 is
。这两个的结果将是 5。我知道我可以简单地做一个
for
,但问题是我想计算它们,如果它们达到 70 个字符或更多,那么我想将其余的换行。
非常感谢任何帮助。
如果您只想计算前 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 = '';
}
}
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
)
你可以得到前两个字符串的和,如下所示,
$words = array ('This', 'is', 'a', '', '', '', 'string');
// getting length of first two
$lengths = array_sum(array_map('strlen', array_slice($words,0,2)));
// $words = array_filter($words); // if you want to remove empty spaces
$words = implode(" ",$words); // creating a sentence
$newtext = wordwrap($words, 70, "\n"); // or <br /> instead of \n as per your requirement
wordwrap — 将字符串换行到给定的字符数
array_filter — 使用回调函数过滤数组元素
array_slice — 提取数组的一部分
array_sum — 计算数组中值的总和
我有一个数组,
$words = array ('This', 'is', 'a', '', '', '', 'string');
我一直在寻找一个计算前两部分字符的函数,
在这种情况下,应该计算 this
和 is
。这两个的结果将是 5。我知道我可以简单地做一个
for
,但问题是我想计算它们,如果它们达到 70 个字符或更多,那么我想将其余的换行。
非常感谢任何帮助。
如果您只想计算前 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 = '';
}
}
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
)
你可以得到前两个字符串的和,如下所示,
$words = array ('This', 'is', 'a', '', '', '', 'string');
// getting length of first two
$lengths = array_sum(array_map('strlen', array_slice($words,0,2)));
// $words = array_filter($words); // if you want to remove empty spaces
$words = implode(" ",$words); // creating a sentence
$newtext = wordwrap($words, 70, "\n"); // or <br /> instead of \n as per your requirement
wordwrap — 将字符串换行到给定的字符数
array_filter — 使用回调函数过滤数组元素
array_slice — 提取数组的一部分
array_sum — 计算数组中值的总和