php函数入门学习(数组常见函数)

<?php

// 1、写一个函数,传入字符串,判断字符串里面是否包含空格。是的话删掉空格,并返回字符串

function getStr($str){
    if(!$str) return '';
    // 去除字符串中间的空格
    $str1 = str_replace([" ", "  "], "", $str);
    // 去除字符串首尾的空格
    $str2 = trim($str1);
    // 正则替换
    // $str3 = preg_replace("/\s+/", "", $str2);
    return $str2;
}

echo getStr(' aaa a aa 222     ');
echo "<br>";

// 2、写一个函数,传入字符串,返回其长度(用utf8编码的长度)

function getStrLength($str){
    if(!$str) return 0;
    return mb_strlen($str, 'utf-8');
}
echo getStrLength('a2返回其长度');
echo "<br>";


// 3、写一个函数,传入字符串,返回最后一句话(假定里面有未知数量的中文句号,也可能没有句号)

function getLastStr($str){
    if(!$str) return '';
    // 以句号作为分割,将字符串去掉首尾空格后,分割为字符串数组
    $arr1 = explode('。', trim($str));
 // 老师提起的常用方案2 ↓ 声明一个空数组,遍历塞入数据,或直接遍历原数组,用unset函数删除空值后,使用array_values函数(返回数组中所有元素的一个新数组,新数组的键名将会重新从0开始递增,如果是关联数组则会转换为索引数组,并保留原数组的值)处理过即可;
    // $arr2 = array();
    // foreach($arr1 as $k => $v){
    //     if($v !== ""){
    //         $arr2[] = $v;
    //     }
    // }
    // 去掉数组中的空值
    $arr3 = array_filter($arr1, function($arr1) {
        return trim($arr1) !== '';
    });
    // 返回最后一句话
    return trim(array_pop($arr3));
}

echo getLastStr('  写一个函数。传入身份证号。尝试从其中截取出生日,并判断该人是否已成年  。  。 ');
echo "<br>";

// 4、写一个函数,传入身份证号,尝试从其中截取出生日,并判断该人是否已成年

function getBirthAndAdult($str){
    if(!$str) return '请传入身份证号';
    // 裁掉前六位,保留第7-14位的8个数字
    $birth = substr($str, 6, 8);
    echo strtotime($birth)."<br>";
    $yearsDiff = (time() - strtotime($birth)) / (24*60*60*365);
    echo $yearsDiff."<br>";
    $isAdult = $yearsDiff >= 18 ? '已成年' : '未成年';
    echo $isAdult."<br>";
    return [$birth, $isAdult];
}

print_r(getBirthAndAdult('142427199404200072'));
echo "<br>";

?>
posted @   芝麻小仙女  阅读(4)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示