如何在将某个单词放在同一个字符串的末尾之前剪切部分字符串?
例如:
$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,';
答案 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
,则可以中断。