如何将前导子字符串移动到字符串末尾?

时间:2017-07-18 00:04:33

标签: php string string-concatenation substring

如何在将某个单词放在同一个字符串的末尾之前剪切部分字符串?

例如:

$data = '1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,7.jpg,';

我想把4.jpg,之前的所有内容放在字符串末尾,如下所示:

$data = '4.jpg,5.jpg,6.jpg,7.jpg,1.jpg,2.jpg,3.jpg,';

3 个答案:

答案 0 :(得分:2)

这是你可以尝试的东西。

<?php

$data = '1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,7.jpg,';
$cut_name = '4.jpg'; //splice from #4


$data = explode(',', $data);
$cut_from = array_search($cut_name, $data);
array_pop($data);

$removed = array_splice($data, 0, $cut_from);

$data = implode(',', array_merge($data, $removed));

echo $data . ',';

答案 1 :(得分:1)

您也可以使用以下内容:

$data = '1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,7.jpg';

function reorder_string($string,$separator){

    $splited = explode($separator,$string);

    //Explanations:
    //$splited[0] = "1.jpg,2.jpg,3.jpg,"
    //$splited[1] = "5.jpg,6.jpg,7.jpg"
    //$separator = "4.jpg,"

    //finally reorder
    return $separator.$splited[1].",".$splited[0];
}

echo reorder_string($data,"4.jpg,");

答案 2 :(得分:0)

这个双功能,单线程太容易了!

代码:(Demo

4.jpg,5.jpg,6.jpg,7.jpg,1.jpg,2.jpg,3.jpg,

输出:

2.jpg

*请注意,如果由于意外的子字符串匹配而将44.jpg更改为GET,则可以中断。