我有一個PHP問題,我有一串數字:從字符串中獲取X字符與PHP繞回
ie/1,2,3,4,5,6,7,8,9 .. .... X
我知道的第一個數字,並有長期創建一個字符串X,使其環繞
例如,如果我的字符串是1,2,3,4,5和我的第一個數字是4 - 我需要返回字符串:
4,5,1,2,3
我想創建一個函數來實現這一點 - 任何幫助將是偉大的!
謝謝。
我有一個PHP問題,我有一串數字:從字符串中獲取X字符與PHP繞回
ie/1,2,3,4,5,6,7,8,9 .. .... X
我知道的第一個數字,並有長期創建一個字符串X,使其環繞
例如,如果我的字符串是1,2,3,4,5和我的第一個數字是4 - 我需要返回字符串:
4,5,1,2,3
我想創建一個函數來實現這一點 - 任何幫助將是偉大的!
謝謝。
<?php
function MyWrap($string, $first)
{
$splitHere = strpos($string, $first);
return rtrim(substr($string, $splitHere).','.substr($string, 0, $splitHere), ',');
}
echo MyWrap('1,2,3,4,5', '4');
?>
輸出:
4,5,1,2,3
function wrapAroundNeedle($myString, $myNeedle)
{
$index = strrpos($myString, $myNeedle);
return substr($myString, $index).",".substr($myString, 0, $index - 1);
}
如何推出自己的。需要注意的是strrpos只允許$針單個字符在PHP 4
string substr (string $string , int $start [, int $length ])
int strrpos (string $haystack , string $needle [, int $offset = 0 ])
$pos = strpos($string,$first_number);
return substr($s,$pos).','.substr($s,0,$pos);
我相信我明白你需要什麼 - 試試這個:
function numsWrap($firstNumber, $total) {
$newStr = "";
$inc = $firstNumber;
for($i = 0; $i < $total+1; $i++) {
if($i == 0) {
$newStr .= $inc;
} else {
if($inc == $total) {
$newStr .= "," . $inc;
$inc = 0;
} else {
$newStr .= "," . $inc;
}
}
$inc++;
}
return $newStr;
}
用法:
echo numsWrap(5, 10);
5,6,7,8,9,10,1,2,3,4,5
家庭作業,我認爲? – cdhowie 2010-11-22 16:30:35
我真的不明白這個 – 2010-11-22 16:30:41