Php 每秒钟显示一个字符串的符号
有简单的功能吗?如何在php中拆分字符串并显示字符串的每2个符号Php 每秒钟显示一个字符串的符号,php,Php,有简单的功能吗?如何在php中拆分字符串并显示字符串的每2个符号 $text = "Hello World"; // output needed: H l o W r d 非常简短的示例: <?php $text = "Hello World"; $i=0; while ($i<strlen($text)) { echo substr($text,$i,1); $i+=2; } ?> 这里有几个例子,包括用另一个字符隔开。请注意某些解
$text = "Hello World";
// output needed: H l o W r d
非常简短的示例:
<?php
$text = "Hello World";
$i=0;
while ($i<strlen($text)) {
echo substr($text,$i,1);
$i+=2;
}
?>
这里有几个例子,包括用另一个字符隔开。请注意某些解决方案上的尾随字符 最后两个是为了好玩而不是为了什么,不过如果您需要处理unicode,“preg_split”可能会很有用,如上一个示例中所示
<?php
$text = "Hello World";
$spacer = '.';
$divider = "\n\n%d:\n";
printf($divider, 1);
for($i=0, $l=strlen($text); $i<$l; $i+=2)
echo $text[$i], $spacer;
printf($divider, 2);
for($i=0, $l=strlen($text); $i<$l; $i++)
echo $i%2==0 ? $text[$i] : $spacer;
printf($divider, 3);
for($i=0, $l=strlen($text); $i<$l; $i++)
echo $i&1 ? $spacer : $text[$i];
printf($divider, 4);
foreach(str_split($text, 2) as $couplet)
echo $couplet[0], $spacer;
printf($divider, 5);
echo implode(
$spacer,
array_map(
'reset',
array_chunk(
str_split($text),
2
)
)
);
printf($divider, 6);
echo implode(
$spacer,
array_column(
array_chunk(
preg_split('//u', $text, -1, PREG_SPLIT_NO_EMPTY),
2
),
0
)
);
到目前为止,你尝试了什么?也许不是重复的,但仍然有用。您需要每秒钟符号之间的空格吗?您可以在循环之前计算,而不是在每次迭代时计算字符串的长度。您可以使用较短的偏移量语法从字符串中获取字符:
for($i=0,$l=strlen($text);$ithats true…我只想为新来者反映一种易于理解的方法:-)谢谢您的帮助!它工作正常,但我添加了mb_substr($text$i,1)代码>适用于Unicodeine,如果它适合您。。。mb_substr()您可能是对的,但我想给您一个简单易懂的示例,您不必考虑太多额外的内容:-)
1:
H.l.o.W.r.d.
2:
H.l.o.W.r.d
3:
H.l.o.W.r.d
4:
H.l.o.W.r.d.
5:
H.l.o.W.r.d
6:
H.l.o.W.r.d