1. 程式人生 > >php測試題(二)

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);
?>