我有以下代码。
$var1 = 'This is line1
This is line2
This is line3';
$var_arr = explode("\n", $var1); // or preg_split("/\n/", $var1); same
echo '<ul type = "disc" class="deal_data" >';
foreach($var_arr as $var1)
{
echo '<li><p>'.$var1.'</p></li>';
}
echo '</ul>';
echo 'String Length:'.strlen($var_arr[1]);
它的输出是:
第二个和第四个列表项的长度是否与零不同?
答案 0 :(得分:1)
答案 1 :(得分:1)
添加爆炸分隔符\r
:
<?php
$var1 = 'This is line1
This is line2
This is line3';
$var_arr = explode("\n\r", $var1); // or preg_split("/\n/", $var1); same
echo '<ul type = "disc" class="deal_data" >';
foreach($var_arr as $var1)
{
echo '<li><p>'.$var1.'</p></li>';
}
echo '</ul>';
echo 'String Length:'.strlen($var_arr[1]);
?>
结果是:
<ul type = "disc" class="deal_data" >
<li>
<p>This is line1</p>
</li>
<li>
<p>This is line2</p>
</li>
<li>
<p>This is line3</p>
</li>
</ul>
String Length:24
答案 2 :(得分:1)
这是因为你的输入有五行,其中两行是空的:
$var1 = 'This is line1 /* Line 1 */
/* Line 2 */
This is line2 /* Line 3 */
/* Line 4 */
This is line3 /* Line 5 */';
答案 3 :(得分:0)
您的文字行由两个换行符分隔。你在一个换行符上爆炸,所以你得到空白行的数组条目以及带有文本的行。
尝试
$var_arr = explode("\n\n", $var1);
答案 4 :(得分:0)
命令的条件可以帮助你......
$var1 = 'This is line1
This is line2
This is line3';
$var_arr = explode("\n", $var1); // or preg_split("/\n/", $var1); same
echo '<ul type = "disc" class="deal_data" >';
foreach($var_arr as $var1)
{
if($var1!="")
echo '<li><p>'.$var1.'</p></li>';
}
echo '</ul>';
echo 'String Length:'.strlen($var_arr[1]);
答案 5 :(得分:0)
过滤并修剪你的数组:
$var1 = 'This is line1
This is line2
This is line3';
$var_arr = explode("\n", $var1);
$var_arr = array_filter(array_map("trim",$var_arr));
var_dump(array_values($var_arr));
输出
array (size=3)
0 => string 'This is line1' (length=13)
1 => string 'This is line2' (length=13)
2 => string 'This is line3' (length=13)