Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP将字符串分成相等的部分_Php_String - Fatal编程技术网

使用PHP将字符串分成相等的部分

使用PHP将字符串分成相等的部分,php,string,Php,String,我想得到一个字符串,例如'sdakjsdkdbskdbksdbfksjdbfkdbfkdbfksdjbf',并将其每六个字符拆分一次 我不认为explode或strtok能解决这个问题 有什么想法吗?你想要的请参见str\u split就是为此而设计的 $str = "sdasdasdsdkjsdkdjbskdbvksdbfksjdbfkdbfksdjbf"; $parts = str_split($str, 6); print_r($parts); $str='abcdefghijklmno

我想得到一个字符串,例如'sdakjsdkdbskdbksdbfksjdbfkdbfkdbfksdjbf',并将其每六个字符拆分一次

我不认为explode或strtok能解决这个问题

有什么想法吗?

你想要的

请参见
str\u split

就是为此而设计的

$str = "sdasdasdsdkjsdkdjbskdbvksdbfksjdbfkdbfksdjbf";
$parts = str_split($str, 6);
print_r($parts);
$str='abcdefghijklmnopqrstuvwxyz';
$i=0$len=6$位=数组();
而($i

编辑:或者按照建议使用str_split(php在ffs中内置了太多函数!)

这不是最干净的方法,但它可以工作

<?php
$MyString = 'asdfasdlkfjasdlkfjasdlkfjasldkfj';
$MyNewString;
$n = 6; // How many you want before seperation
$MyNewString = substr($MyString,0,$n); 
$i = $n;
while ($i < strlen($MyString)) {
        $MyNewString .= '-'; // Seperator Character
        $MyNewString .= substr($MyString,$i,$n);
        $i = $i + $n;
}
echo $MyNewString
?>


人们非常乐意重新发明轮子:)但是轮子是一个非常有用的工具,如果没有它,我们将很难生活。我想知道这数千个很少使用的函数的开销是多少。前几天我在手册中看到函数date_sunrise(),拜托,这太荒谬了!因为6行密集的PHP代码比编译后只占用几个字节的单个函数的开销要少…?:)当然,为每件事都包含一个函数是没有意义的,但是
str\u split
date\u sunrise
都非常复杂,足以保证它的正确性,而且(很明显)每隔一段时间就会被使用一次
date\u sunrise
可能不太常见,但当你确实需要它时,你会感谢有人已经完成了这项工作。
date\u sunrise()
和朋友的唯一问题是,他们向全局命名空间发送垃圾邮件,寻找非常深奥的东西。我在10年后写这篇文章,PHP仍然没有将所有历史遗留问题转移到任何名称空间前缀,尽管它在今天的语言中会得到很好的支持。我想官方的回答应该是“向后兼容”。也许你应该具体说明你想要什么样的结果。一个阵列?谢谢所有回答的人!我不确定您是否理解
chunk\u split()
的作用。它不会将字符串拆分为更多的字符串,它只是通过在每个块后添加行尾来拆分字符串本身,它用于“最大行长度”功能(例如电子邮件正文):)这是正确的答案,当且仅当“拆分字符串”被认为是指在拆分位置发射带有嵌入式换行器的单个字符串。如果您希望数组中有多个单独的字符串作为输出,则需要
str_split()
。如果您不想重新发明控制盘,则只需
chunk_split($input,6,“-”)
<?php
$MyString = 'asdfasdlkfjasdlkfjasdlkfjasldkfj';
$MyNewString;
$n = 6; // How many you want before seperation
$MyNewString = substr($MyString,0,$n); 
$i = $n;
while ($i < strlen($MyString)) {
        $MyNewString .= '-'; // Seperator Character
        $MyNewString .= substr($MyString,$i,$n);
        $i = $i + $n;
}
echo $MyNewString
?>