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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值