Heim >php教程 >php手册 >一道PHP面试的编程题分享

一道PHP面试的编程题分享

WBOY
WBOYOriginal
2016-06-06 20:11:531608Durchsuche

编程题 请编写一个函数(function)。 我们工作里使用的的语言是PHP,希望阁下能以PHP作答。若有困难,亦可使用其他语言完成。(如C#、Java、C++、Python、Perl、Ruby等) 函数的要求是这样: 输入参数–一个字符串,返回一个字符串。 输入是一句英文句子,只有英

编程题
请编写一个函数(function)。
我们工作里使用的的语言是PHP,希望阁下能以PHP作答。若有困难,亦可使用其他语言完成。(如C#、Java、C++、Python、Perl、Ruby等)
函数的要求是这样:
输入参数–一个字符串,返回一个字符串。
输入是一句英文句子,只有英文字(a-z, A-Z)、每个字之间仅以一个空格分格,前后没有空格。
返回的是要把每一个字的字母顺序倒转写,但字的顺序和字母的大小写位置则保持不変。

例:
输入参数
This is an Apple on eBay
返回
Siht si na Elppa no yAbe
(如eBay因为是第二个字母大写,倒写后保持第二个字母的大写。)

我编写的程序:

<?php function getNewStr($str){
$str_arr = explode(' ',$str);
foreach( $str_arr as $key=>$value){
	$str_arr[$key] = getNewStrExtra($value);
}
$new_str = implode(' ',$str_arr);
return $new_str;
}
function getNewStrExtra($str){
	$length = strlen($str);
	for($i = 0;$i $value) {
		$ord_v = ord($value);
		if($ord_v >= 60 && $ord_v  $value) {
		$return_arr[$key] = strtolower($value);
	}
	if(isset($flag)){
	$return_arr[$flag] = strtoupper($return_arr[$flag]);
	}
	$return_str = implode('', $return_arr);
	return $return_str;
}
$str='This is an Apple on eBay';
echo getNewStr($str);
?>

希望有更好更高效的方法分享出来!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP的输出缓冲区(转)Nächster Artikel:php多进程demo