Php 每秒钟显示一个字符串的符号

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; } ?> 这里有几个例子,包括用另一个字符隔开。请注意某些解

有简单的功能吗?如何在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;
 }

?>

这里有几个例子,包括用另一个字符隔开。请注意某些解决方案上的尾随字符

最后两个是为了好玩而不是为了什么,不过如果您需要处理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