Разбить строку на 2 буквы

Я пытаюсь разбить строку на 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

4

Решение

Вот:

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>";

PHPFiddle Link: http://phpfiddle.org/main/code/1bvp-pyk9

И после этого вы можете просто повторить его в одной строке, например:

echo implode($array, ' ');
5

Другие решения

Попробуй это, поменяй $length до 1 или 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
)
*/
2

использование

$string{0} $string{1} $string{n}

чтобы получить символы, которые вы хотите!

Затем вы можете использовать цикл в вашей строке, используя strlen

$length = strlen($string);

for($i = 0; $i < $length; ++$i){
// Your job
}

Затем используйте $ i, $ i — 1, $ i + 1, чтобы выбрать символы.

1

<?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»

1

Самый простой способ, вы можете сделать это с chunk_split:

$str = "testgapstring";
$res = chunk_split($str, 3, ' ');

echo $res; // 'tes tga pst rin g '

но у вас есть дополнительный символ пробела в конце, также, если вам нужно, чтобы это был массив, что-то будет работать:

$chunked = chunk_split($str, 3, ' ');
$arr = explode(' ', rtrim($chunked));

Другой пример:

echo $chunked = rtrim(chunk_split('test', 2, ' ')); // 'te st'
1
По вопросам рекламы [email protected]