ホームページ >php教程 >php手册 >一道PHP面试的编程题分享

一道PHP面试的编程题分享

WBOY
WBOYオリジナル
2016-06-06 20:11:531610ブラウズ

编程题 请编写一个函数(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);
?>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。