在將某個單詞放在同一個字符串的末尾之前,如何切割一部分字符串?如何將前導子字符串移動到字符串結尾?
例如:
$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(); –