我必须进行字符串的循环移位。例如,如果我有字符串" hihi" 我必须找到循环移位
"hihi" is 0th shift of "hihi"
"ihih" is 1st shift of "hihi"
"hihi" is 2nd
"ihih" is 3rd
在这种情况下" hihi"重复两次,因此有两次循环移位。
有人可以帮助我。
答案 0 :(得分:2)
你可以组合数组移位和数组到字符串操作:
function shift($string) {
$arr = str_split($string);
$head = array_shift($arr);
array_push($arr,$head);
return implode($arr);
}
$str = "hihi";
$shifts = strlen($str); //n shifts (incl. original)
for ($i = 0;$i < $shifts;$i++) {
echo $str.PHP_EOL;
$str = shift($str);
}
在http://sandbox.onlinephpfunctions.com/code/49e5ef01f3cc49db7c353f8ab8d74322375c4d22
上查看