在将某个单词放在同一个字符串的末尾之前,如何切割一部分字符串?如何将前导子字符串移动到字符串结尾?
例如:
$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,';
在将某个单词放在同一个字符串的末尾之前,如何切割一部分字符串?如何将前导子字符串移动到字符串结尾?
例如:
$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,';
这里的东西你可以试试。
<?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 . ',';
这很好,但4.jpg,5.jpg,...只是一个例子,每次我都会有其他的文件名。 –
它应该适用于任何文件名。 '$ cut_from'表示**位置**,而不是文件名。 –
,但我也不知道哪个位置是分隔符。 –
您还可以使用一些像这样:
$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,");
这是太容易了与此两个功能,一个班轮!
代码:(Demo)
$data = '1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,7.jpg,';
$new_leader='4.jpg';
echo strstr($data,$new_leader),strstr($data,$new_leader,true);
输出:
4.jpg,5.jpg,6.jpg,7.jpg,1.jpg,2.jpg,3.jpg,
*注,可以的,如果你改变2.jpg
到44.jpg
由于意外串匹配休息。
在[所以]你应该尝试**自己写代码**。后** [做更多的研究](//meta.stackoverflow.com/questions/261592)**如果你有问题,你可以**发布你已经尝试**与清楚的解释是什么是'工作**并提供[** Minimal,Complete和Verifiable示例**](// stackoverflow.com/help/mcve)。我建议阅读[问]一个好问题和[完美问题](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。另外,一定要参加[游览]并阅读[this](// meta.stackoverflow.com/questions/347937/)**。 –
我试过str_replace();和chop(); –