批改状态:未批改
老师批语:
<?php
echo '<h3>数组排序方法</h3>';
echo '<hr>';
/**
* 一、正序排序:sort(),asort(),ksort()
* 二、反转排序:rsort(),arsort(),krsort()
*/
$arr = ['id'=>3, 'name'=>'xiaoli', 'course'=>'php', 'book'=>'study', 5=>true];
echo '<pre>';
echo '<p>原始数组:</p>';
print_r($arr);
echo '<hr>';
// 1.sort(&$arr,$flag)原始数组会被改写,正序且键名重置
// sort($arr);
// sort($arr, SORT_NUMERIC);
// sort($arr, SORT_STRING); // ASCII
// print_r($arr);
// 2.asort(&$arr,$flag)正序且键名保留
// asort($arr); // 忽略类型
// asort($arr, SORT_NUMERIC);
// asort($arr, SORT_STRING); // ASCII
// print_r($arr);
// 3.ksort(&$arr,$flag)按键名排序
// ksort($arr); // 忽略类型
// ksort($arr, SORT_NUMERIC);
// ksort($arr, SORT_STRING); // ASCII
// print_r($arr);
// 4.rsort(&$arr,$flag)倒序且键名忽略
// rsort($arr); // 忽略类型
// rsort($arr, SORT_NUMERIC);
// rsort($arr, SORT_STRING); // ASCII
// print_r($arr);
// 5.arsort(&$arr,$flag)倒序且键名保留
// arsort($arr); // 忽略类型
// arsort($arr, SORT_NUMERIC);
// arsort($arr, SORT_STRING); // ASCII
// print_r($arr);
// 6.krsort(&$arr,$flag)键名倒序排序
// krsort($arr); // 忽略类型
// krsort($arr, SORT_NUMERIC);
// krsort($arr, SORT_STRING); // ASCII
// print_r($arr);
// 7.usort()
// $arr1 = [10, 4, 22, 99, 35, 18];
// print_r($arr1);
// usort($arr1, function($a, $b)
// {
// $res = $a - $b;
// if ($res == 0)
// {
// return 0;
// } else if ($res > 0)
// {
// return true;
// } else
// {
// return false;
// }
// });
// echo '<p>排序后</p>';
// print_r($arr1);
echo '<h3>字符串长度计算</h3><hr>';
/**
* strlen($str)
* mb_strlen($str, $encoding)
*/
$siteName = 'php中文网';
// 获取系统内部的字符编码集
$encoding = mb_internal_encoding();
echo '内部的字符编码集:', $encoding, '<br>';
// 1.strlen($str)获取字节表示的字符串长度
echo strlen($siteName), '<br>';
// 2.mb_strlen($str [, $encoding])获取字符数表示的长度
// echo mb_strlen($siteName), '<br>';
echo mb_strlen($siteName, 'UTF-8'), '<br>';
echo '<hr>';
echo '<h3>字符串与数组之间的转换</h3><hr>';
/**
* 1.str_split($str, $length)
* 2.explode($delimiter, $str, $num)
* 3.implode($glue, $str)
*/
echo '<pre>';
$str = 'html,css,jquery,php,mysql,thinkphp';
echo strlen($str);
echo '<p>原始字符串:'.$str.'</p>';
// 1.str_split($str, $length)
print_r(str_split($str, 5));
// 2.explode($delimiter, $str, $num)按分隔符将字符串分割成数组
print_r(explode(',', $str));
print_r(explode(',', $str, 5)); //分割成5组,第6组没有,放在第5组
// 3.implode($glue, $str)按分隔符,将一维数组拼装成字符串
$arr2 = explode(',', $str);
print_r($arr2);
echo implode(',', $arr2), '<br>';
echo implode('***', $arr2), '<br>';
echo implode(' ', $arr2), '<br>';
echo '<hr>';
echo '<h3>字符串的查找与替换</h3><hr>';
/**
* 1.strpos($str1, $str2):查找$str2在$str1中首次出现的位置
* 2.strstr($str1, $str2):如果$str2是$str1的子串,返回子串,否则返回false
* 3.str_replace():子串替换
* 4.substr_replace():替换字符串的子串
*/
$str = 'www.php.cn';
// 1.strpos($str1, $str2):查找$str2在$str1中首次出现的位置
echo strpos($str, 'p'), '<br>';
echo strpos($str, 'p', 5), '<br>'; //可以指定位置开始查找
echo '<hr>';
// 2.strstr($str1, $str2):如果$str2是$str1的子串,返回子串,否则返回false
echo strstr($str, 'php'), '<br>'; //返回子串及其后面内容
echo strstr($str, 'php', true), '<br>'; //返回子串前面部分,不包括子串
echo '<hr>';
// 3.str_replace($str1, $str2, $str):子串替换
echo str_replace('www','http:/www',$str), '<br>';
// 4.substr_replace($str, $str1, $start, $length):替换字符串的子串
echo substr_replace($str, 'pppph', 5, 2);//www.ppppph.cn点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号