php測試題(二)
1.一個字串$str="aaaabsfdsfavdchjs",找出第一個唯一存在的字元。
<?php
//寫一個字串
$str="aaaabsfdsfavdchjs";
//echo $str;die;
//把字串轉換成陣列
$item=str_split($str);
//print_r($item);die;
//計算陣列中每個字母的個數
$a=array_count_values($item);
//print_r($a);die;
//使用foreach迴圈
foreach($a as $k=>$v){
if($v==1){
echo $k;
exit();
}
}
?>
2.有一堆以','分割的沒有重複的數字,12,65,110,2,3,55,79,10,45。寫一段程式碼:輸出第一個數是最大的,第二個數是最小的 ,第三個數是第二大,第四個數是第二小...依次類推
<?php
//寫一個字串
$str='12,65,110,2,3,55,79,10,45';
//print_r($str);die;
//把字串分割成陣列
$item_arr=explode(',',$str);
//print_r($item_arr);die;
//while迴圈
while(sizeof($item_arr)>0){
//求最大
$max=max($item_arr);
//print_r($max);die;
//求最小
$min=min($item_arr);
//print_r($min);die;
echo $max."<br/>";
echo $min."<br/><hr>";
//求最大數
$max_pos=array_keys($item_arr,$max);
//求最小數
$min_pos=array_keys($item_arr,$min);
unset($item_arr[$max_pos[0]]);
unset($item_arr[$min_pos[0]]);
}
?>
3.寫一個函式,將一個字串(如:1234567890),轉換成(如1,234,567,890)每3位用逗號隔開的形式。
<?php
//寫一個字串
$str = '1234567890';
//print_r($str);die;
//把字串通過千位分組格式化成陣列
$newstr = number_format($str);
//print_r($newstr);die;
// echo $str;
//echo '<br/>';
echo $newstr;
?>
4.請寫一個函式實現獲取檔案的字尾名 比如: abc.exe.jpg
<?php
//寫一個字串
$file_name = "abc.exe.jpg";
//print_r($file_name);
//定義一個方法
function extend_3($file_name){
//按.擷取字串
$extend =explode("." , $file_name);
//print_r($extend);die;
//展示擷取的字尾名
$va=count($extend)-1;
//print_r($va);die;
return '.'.$extend[$va];
}
echo extend_3($file_name);
?>
5.給出一個字串如 “A journey of a thousand miles must begin with a single step.” ,通過 PHP 程式處理變成 “a journeY oF A thousanD mileS musT begiN witH A singlE steP.”
<?php
//寫一個字串
$a="A journey of a thousand miles must begin with a single step";
$re=strrev($a);
//print_r($re);die;
$b=ucwords($re);
//print_r($b);
$c=strrev($b);
$d= lcfirst($c);
print_r($d);
?>