Correction status:Uncorrected
Teacher's comments:
本次作业内容是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);
点击 "运行实例" 按钮查看在线实例