php 根據要求得到字串的反序
/**
* 根據要求得到字串的反序
*/
$s = 'abcdefghijklmnopq';
function Reverse_order($str,$start = null,$end = null)
{
$string = '';
$string1 = '';
$string2 = '';
if ($start === null or $end === null)
{
for ($i = 0; ($char = $str{$i}) !== '';$i++)
{
$string = $char.$string;
}
//var_dump($string);
}
if ((!is_int($start) or !is_int($end)) and $start !== null and $end !== null) //將使用者輸入為數字字串轉化為整型
{
//如果是字母或者漢字轉化後$start $end 都為0
$start = (int)($start);
$end = (int)($end);
if ($start < 0)
{
trigger_error("起始值不能小於0",256);
return false;
}
}
if (is_int($start) and is_int($end))
{
for ($j = 0;$j < $start;$j++)
{
$string1 .= $str{$j};
}
for ($i = $start;$i < $end;$i++)
{
$string = $str{$i}.$string;
}
for ($k = $end; ($char = $str{$k}) !== ''; $k++)
{
$string2 .= $str{$k};
}
}
/*if (!is_int($start ) or !is_int($end))
{
trigger_error("請輸入數字",512);
return false;
}*/
return $string1.$string.$string2;
}
$start = 0;
var_dump(
Reverse_order($s,$start,10),
Reverse_order($s,5,15),
Reverse_order($s,'10','15'),
//Reverse_order($s,'-5','15'), //為負數的字串轉化後是負數
Reverse_order($s,'df','sd'),
Reverse_order($s,'的','地方'), //不是為數位字串轉化為整型後的是指都為零
Reverse_order($s)
);