批改状态:未批改
老师批语:
本次作业内容是php数组排序总结与常用的字符串常用操作:(字符串长度计算、 字符串与数组之间的转换、字符串的查找与替换 ),现分享代码如下:
1、php数组排序
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数组排序总结-4月18日作业</title>
</head>
<body>
<!--
1. 数组排序方法总结
2. 字符串长度计算
3. 字符串与数组之间的转换
4. 字符串的查找与替换
-->
<?php
echo '<h3>1.数组排序方法总结</h3><hr color="green">';
$arr = ['id'=>1001,'name'=>'zhu','course'=>'php','grade'=>60,5=>true];
//格式化输出
echo '<pre>';
echo '<p>原始数组:</p>';
print_r($arr);
echo '<hr color="red"';
/*
一、正序:sort(),asort(),ksort()
二、反序、反转排序:rsort(),arsort(),krsort()
reversal:反转; associate()
*/
//1.sort(&$arr,flag) 变量的引用传值,原有数组被改写:正序且键名重置
//默认按类型分组,每组再自然排序。
// echo '<h3>1.1.sort(&$arr,flag) 变量的引用传值,原有数组被改写:正序且键名重置</h3><hr color="red">';
//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);
// echo '<pre>';
// print_r($arr);
//3.ksort(&$arr,flag) :按键名排序
// ksort($arr); //忽略类型
// ksort($arr,SORT_NUMERIC);
// ksort($arr,SORT_STRING);
// echo '<pre>';
// print_r($arr);
//4.rsort(&$arr,flag) :倒序排序且键名忽略
// rsort($arr); //忽略类型
// rsort($arr,SORT_NUMERIC);
// rsort($arr,SORT_STRING);
// echo '<pre>';
// print_r($arr);
//5.arsort(&$arr,flag) :倒序且键名保留
// arsort($arr); //忽略类型
// arsort($arr,SORT_NUMERIC);
// arsort($arr,SORT_STRING);
// echo '<pre>';
// print_r($arr);
//6.krsort(&$arr,flag) :键名倒序排序
// krsort($arr); //忽略类型
// krsort($arr,SORT_NUMERIC);
// krsort($arr,SORT_STRING);
// echo '<pre>';
// print_r($arr);
//7.usort() 自定义排序
$arr1 = [10,4,22,99,35,18];
echo '<pre>';
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);
?>
</body>
</html>点击 "运行实例" 按钮查看在线实例
点击 "运行实例" 按钮查看在线实例
2、字符串常用操作
<meta charset="utf-8">
<?php
echo '<h3>字符串操作-4月18日作业</h3><hr color="red">';
/*一、获取字符串长度:
strlen($str)
mb_strlen($str,$encoding)
*/
$siteName = 'php中文网';
//获取系统的字符编码集:
$encoding = mb_internal_encoding();
$encoding = 'utf-8';
echo '内部的字符编码集:',$encoding,'<br>';
//1.strlen($str)获取字节表示的字符串长度
//utf-8字符集中,一个中文是3个字符。
//echo strlen($siteName),'<br>';
//2.mb_strlen($str[,$encoding]):获取字符数表示的长度
//echo mb_strlen($siteName),'<br>';
echo mb_strlen($siteName,$encoding),'<br>';
echo mb_strlen($siteName,'UTF-8'),'<br>';
echo '<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个字符进行分割
print_r(str_split($str,5));
echo count(str_split($str));
echo '<hr>';
//2.explode($delimiter,$str,$num):按指定的分隔符进行分割字符串。
print_r(explode(',',$str));
print_r(explode(',',$str,3));
echo '<hr color="red">';
//3.implode($glue,$str):按分隔符,将一维数组拼接成字符串。
$arr2 = explode(',',$str);
print_r($arr2);
echo '<hr>';
echo implode(',',$arr2),'<br>';
echo implode('***',$arr2),'<br>';
echo implode(' ',$arr2),'<br>';
/*
三、字符串的查找与替换
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 '<hr color="red"';
echo strpos($str,'p'),'<br>';
echo strpos($str,'p',5),'<br>';//指定位置查找
//2.strstr($str1,$str2):如果str2是str1的子串,返回子串,否则返回false
echo strstr($str,'php'),'<br>'; //返回子串以其后面的内容
echo strstr($str,'php',true),'<br>'; //返回子串前面的内容
echo strstr($str,'php',true),strstr($str,'php');
echo '<hr>';
//3.str_replace($str1,$str2,$str):子串替换
echo str_replace('www','http:/wwww',$str),'<br>';
echo '<hr>';
//4.substr_replace($str,$str1,$start,$length):替换字符串的子串
echo substr_replace($str,'pppph',5, 2);点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号