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

一道PHP面试的编程题分享

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

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP的输出缓冲区(转)Next article:php多进程demo