php ch,php-每第4 ch后添加空间

php-每第4 ch后添加空间

我想在每第4个字符之后直到字符串末尾在输出中添加一个空格。我试过了:

$str = $rows['value'];

echo substr($str, 0, 4) . ' ' . substr($str, 4); ?>

前四个字符之后才给我空格。

我如何让它每4秒显示一次?

user990767 asked 2020-02-21T14:13:22Z

9个解决方案

80 votes

您可以使用trim [docs]:

$str = chunk_split($rows['value'], 4, ' ');

演示

如果字符串的长度是四的倍数,但是您不希望尾随空格,则可以将结果传递给trim。

Felix Kling answered 2020-02-21T14:13:46Z

42 votes

Wordwrap完全可以满足您的需求:

echo wordwrap('12345678' , 4 , ' ' , true )

将输出:1234 5678

例如,如果要在第二个数字后加上连字符,请将“ 4”换成“ 2”,并将空格换成连字符:

echo wordwrap('1234567890' , 2 , '-' , true )

将输出:12-34-56-78-90

参考-自动换行

Olemak answered 2020-02-21T14:14:23Z

9 votes

您是否已经看过这个称为自动换行的功能?[http://us2.php.net/manual/en/function.wordwrap.php]

这是一个解决方案。 像这样开箱即用。

$text = "Thiswordissoverylong.";

$newtext = wordwrap($text, 4, "\n", true);

echo "$newtext\n";

?>

Sgarz answered 2020-02-21T14:14:48Z

4 votes

单线:

$yourstring = "1234567890";

echo implode(" ", str_split($yourstring, 4))." ";

这应该给你作为输出:

1234 5678 90

就这样:D

Giova answered 2020-02-21T14:15:21Z

3 votes

一种方式是将其分成4个字符的块,然后将它们重新连接在一起,并在每个部分之间留一个空格。

由于从技术上讲,如果最后一个块恰好有4个字符,那么最后将不会插入一个字符,因此我们需要手动添加一个字符(演示):

$chunk_length = 4;

$chunks = str_split($str, $chunk_length);

$last = end($chunks);

if (strlen($last) === $chunk_length) {

$chunks[] = '';

}

$str_with_spaces = implode(' ', $chunks);

hakre answered 2020-02-21T14:15:46Z

2 votes

这是一个长度不是4的倍数(在我的情况下为5)的字符串的示例。

function ref_format($str, $step, $reverse = false) {

if ($reverse)

return strrev(chunk_split(strrev($str), $step, ' '));

return chunk_split($str, $step, ' ');

}

采用 :

echo ref_format("0000000152748541695882", 5);

结果:00000 00152 74854 16958 82

反向模式使用(瑞士结算的“ BVR代码”):

echo ref_format("1400360152748541695882", 5, true);

结果:14 00360 15274 85416 95882

希望它能对您有所帮助。

Meloman answered 2020-02-21T14:16:28Z

1 votes

函数wordwrap()的功能基本上相同,但是这也应该起作用。

$newstr = '';

$len = strlen($str);

for($i = 0; $i < $len; $i++) {

$newstr.= $str[$i];

if (($i+1) % 4 == 0) {

$newstr.= ' ';

}

}

fdomig answered 2020-02-21T14:16:51Z

0 votes

兼容PHP3:

尝试这个:

$strLen = strlen( $str );

for($i = 0; $i < $strLen; $i += 4){

echo substr($str, $i, 4) . ' ';

}

unset( $strLen );

Eva answered 2020-02-21T14:17:16Z

-3 votes

StringBuilder str = new StringBuilder("ABCDEFGHIJKLMNOP");

int idx = str.length() - 4;

while (idx > 0){

str.insert(idx, " ");

idx = idx - 4;

}

return str.toString();

说明,此代码将从右到左添加空间:

str = "ABCDEFGH" int idx = total length - 4; //8-4=4

while (4>0){

str.insert(idx, " "); //this will insert space at 4th position

idx = idx - 4; // then decrement 4-4=0 and run loop again

}

最终输出将是:

ABCD EFGH

Nitin Divate answered 2020-02-21T14:17:40Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园的建设目标是通过数据整合、全面共享,实现校园内教学、科研、管理、服务流程的数字化、信息化、智能化和多媒体化,以提高资源利用率和管理效率,确保校园安全。 智慧校园的建设思路包括构建统一支撑平台、建立完善管理体系、大数据辅助决策和建设校园智慧环境。通过云架构的数据中心与智慧的学习、办公环境,实现日常教学活动、资源建设情况、学业水平情况的全面统计和分析,为决策提供辅助。此外,智慧校园还涵盖了多媒体教学、智慧录播、电子图书馆、VR教室等多种教学模式,以及校园网络、智慧班牌、校园广播等教务管理功能,旨在提升教学品质和管理水平。 智慧校园的详细方案设计进一步细化了教学、教务、安防和运维等多个方面的应用。例如,在智慧教学领域,通过多媒体教学、智慧录播、电子图书馆等技术,实现教学资源的共享和教学模式的创新。在智慧教务方面,校园网络、考场监控、智慧班牌等系统为校园管理提供了便捷和高效。智慧安防系统包括视频监控、一键报警、阳光厨房等,确保校园安全。智慧运维则通过综合管理平台、设备管理、能效管理和资产管理,实现校园设施的智能化管理。 智慧校园的优势和价值体现在个性化互动的智慧教学、协同高效的校园管理、无处不在的校园学习、全面感知的校园环境和轻松便捷的校园生活等方面。通过智慧校园的建设,可以促进教育资源的均衡化,提高教育质量和管理效率,同时保障校园安全和提升师生的学习体验。 总之,智慧校园解决方案通过整合现代信息技术,如云计算、大数据、物联网和人工智能,为教育行业带来了革命性的变革。它不仅提高了教育的质量和效率,还为师生创造了一个更加安全、便捷和富有智慧的学习与生活环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值