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

一道PHP面试的编程题分享

WBOY
풀어 주다: 2016-06-06 20:11:53
원래의
1613명이 탐색했습니다.

编程题 请编写一个函数(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);
?>
로그인 후 복사

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿