Php 将字符串拆分为2个字母
我正在尝试将字符串拆分为1、2和3段 例如,我目前有:Php 将字符串拆分为2个字母,php,split,strsplit,Php,Split,Strsplit,我正在尝试将字符串拆分为1、2和3段 例如,我目前有: $str = 'test'; $arr1 = str_split($str); foreach($arr1 as $ar1) { echo strtolower($ar1).' '; } 这对1个字符分割很有效,我得到: t e s t 然而,当我尝试: $arr2 = str_split($str, 2); 我得到: te st 有没有办法让我可以输出这个 te es st 还有3个这样的角色 tes est 使用
$str = 'test';
$arr1 = str_split($str);
foreach($arr1 as $ar1) {
echo strtolower($ar1).' ';
}
这对1个字符分割很有效,我得到:
t e s t
然而,当我尝试:
$arr2 = str_split($str, 2);
我得到:
te st
有没有办法让我可以输出这个
te es st
还有3个这样的角色
tes est
使用
$string{0}$string{1}$string{n}
为了得到你想要的角色
然后可以使用strlen在字符串上使用循环
$length = strlen($string);
for($i = 0; $i < $length; ++$i){
// Your job
}
$length=strlen($string);
对于($i=0;$i<$length;++$i){
//你的工作
}
然后使用$i、$i-1、$i+1来选择字符。这里是:
function SplitStringInWeirdWay($string, $num) {
for ($i = 0; $i < strlen($string)-$num+1; $i++) {
$result[] = substr($string, $i, $num);
}
return $result;
}
$string = "aeioubcdfghjkl";
$array = SplitStringInWeirdWay($string, 4);
echo "<pre>";
print_r($array);
echo "</pre>";
最简单的方法是,您可以使用: 但在末尾有额外的空格符号,如果需要将其作为数组,则可以使用以下方法:
echo $chunked = rtrim(chunk_split('test', 2, ' ')); // 'te st'
其他示例:
<?php
function my_split($string, $count){
if(strlen($string) <= $count){
return $string;
}
$my_string = "";
for($i; $i< strlen($string) - $count + 1; $i++){
$my_string .= substr($string, $i, $count). ' ';
}
return trim($my_string);
}
echo my_split('test', 3);
?>
并将有“tes est”尝试此操作,将
$length
更改为1或3:
$string='test';
$length=2;
$start=-1;
而($start++$lengthte
[1] =>es
[2] =>st
)
*/
要做到这一点,您需要编写自己的函数。如果您有一个字符串“email”,该怎么办?预期的输出是什么?需要是:em ma ai iland 3个字符:ema mai Ail这与他指定的结果完全不同。他在干什么OOkay,我已经删除了否决票,但请不要误导别人,如果他们的预期结果是:tes est stg tga gap aps pst str tri rin
,而你的解决方案会导致tes tga pst rin g
@Qantas94Heavy如果我不尝试简单的编辑,就无法在这个主题上提高自己,所以请理解它,但无论如何,小的编辑不会花费超过几秒钟的时间让你去评论,或者你可以跳过或拒绝,或者只是不做评论,但我的编辑并没有那么糟糕
$chunked = chunk_split($str, 3, ' ');
$arr = explode(' ', rtrim($chunked));
echo $chunked = rtrim(chunk_split('test', 2, ' ')); // 'te st'
<?php
function my_split($string, $count){
if(strlen($string) <= $count){
return $string;
}
$my_string = "";
for($i; $i< strlen($string) - $count + 1; $i++){
$my_string .= substr($string, $i, $count). ' ';
}
return trim($my_string);
}
echo my_split('test', 3);
?>
$string = 'test';
$length = 2;
$start = -1;
while( $start++ + $length < strlen( $string ) ) {
$array[] = substr( $string, $start, $length );
}
print_r( $array );
/*
Array
(
[0] => te
[1] => es
[2] => st
)
*/