数组排序方法总结
代码
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>数组的排序</title> <style type="text/css"> .box {width:90%;line-height:1.2em;border:1px dotted #d6d6d6;padding-left:15px;background-color:#f5f5f5;margin:10px auto;font-family:微软雅黑;} .box1 {width:90%;line-height:1.5em;border:1px dotted #d6d6d6;background-color:#f2edd7;font-family:微软雅黑;} .box p {margin-left:20px;font-size:14px;} hr {height:1px;width:95%;border:none;border-top:1px dashed #666;} </style> </head> <body> <?php $taogu = ['id'=>1,'name'=>'Erika Momotani','height'=>'165','weight'=>'48','nationa'=>'Japan',5=>true]; echo '<div class="box">'; echo '<h4>数组的排序</h4>'; echo '<div class="box1"><p>语法结构:sort(&$arr, $flag)</p><p> * 1.SORT_REGULAR: [默认]正常比较单元(不改变类型) <p>* 2.SORT_NUMERIC: 单元被作为数字来比较<p> <p>* 3.SORT_STRING: 单元被作为字符串来比较<p> <p>* 4.SORT_NATURAL: 单元以“自然的顺序”对字符串进行排序<p> <p>* 5.SORT_FLAG_CASE: 不区分大小写排序字符串</p></div>'; echo '<h4>原始数组打印</h4>'; echo '<pre>'; print_r($taogu); echo '<hr>'; // echo implode(',',$taogu); echo '<h4>(1).忽略类型(SORT_REGULAR) 按类型分组 (数字 字符 布尔)</h4>'; echo '<pre>'; sort($taogu, SORT_REGULAR); //忽略类型,其实就是按类型分组,仅在分组中对同类型数据进行排序 print_r($taogu); echo '<hr>'; echo '<h4>(2).全部视为数值类型(SORT_NUMERIC) (字母全转为0,true转为1)</h4>'; echo '<pre>'; sort($taogu, SORT_NUMERIC); //全部视为数值类型,字母全转为0,true转为1, print_r($taogu); echo '<hr>'; echo '<h4>(3).全部视为字符类型(SORT_STRING) (布尔 数字 字母)</h4>'; echo '<pre>'; sort($taogu, SORT_STRING); //全部视为字符类型,因为数字的ASCII码要小于字母,所有排在前面 print_r($taogu); echo '<hr>'; echo '<h4>(4).自然排序(SORT_NATURAL) (与SORT_STRING结果一致)</h4>'; echo '<pre>'; sort($taogu, SORT_NATURAL); //自然排序,与SORT_STRING结果一致 print_r($taogu); echo '<hr>'; echo '<h4>(5).忽略大小写 (SORT_FLAG_CASE) (PHP5.4+以上支持)</h4>'; echo '<pre>'; sort($taogu, SORT_FLAG_CASE); //忽略大小写,PHP5.4+以上支持 print_r($taogu); echo '</div>'; ?> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
字符串长度计算
代码
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>字符串的长度计算</title> <style type="text/css"> .box {width:90%;line-height:1.2em;border:1px dotted #d6d6d6;padding-left:15px;background-color:#f5f5f5;margin:10px auto;font-family:微软雅黑;} .box1 {width:90%;line-height:1.5em;border:1px dotted #d6d6d6;background-color:#f2edd7;font-family:微软雅黑;} .box p {margin-left:20px;font-size:14px;} hr {height:1px;width:95%;border:none;border-top:1px dashed #666;} </style> </head> <body> <?php $name = '桃谷绘里香'; $Name = 'Erika Momotani'; echo '<div class="box">'; echo '<h4>字符串的长度计算</h4>'; echo '<div class="box1"> <p>语法结构 </p> <p> * 1.strlen($str) //获取字节表示的字符串长度<p> <p>* 2.mb_strlen($str, $encoding) //获取字符数表示的长度<p></div>'; echo '<hr>'; echo $name; echo '<hr>'; echo $Name; echo '<hr>'; echo strlen($name),'<hr>'; echo strlen($Name),'<hr>'; echo mb_strlen($name),'<hr>'; echo mb_strlen($Name),'<br>'; echo '</div>'; ?> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
字符串与数组之间的转换
代码
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>字符串与数组之间的转换</title> <style type="text/css"> .box {width:90%;line-height:1.2em;border:1px dotted #d6d6d6;padding-left:15px;background-color:#f5f5f5;margin:10px auto;font-family:微软雅黑;} .box1 {width:90%;line-height:1.5em;border:1px dotted #d6d6d6;background-color:#f2edd7;font-family:微软雅黑;} .box p {margin-left:20px;font-size:14px;} hr {height:1px;width:95%;border:none;border-top:1px dashed #666;} </style> </head> <body> <?php $taogu = ['name'=>'Erika Momotani','height'=>'165','weight'=>'48kg','nationa'=>'Japan']; echo '<div class="box">'; echo '<h4>字符串与数组之间的转换</h4>'; echo '<div class="box1"> <p>语法结构 </p> <p>* 1.str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1<p> <p>* 2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量<p> <p>* 3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔<p></div>'; echo '<h4>implode($glue, $str)</h4>'; echo implode(',', $taogu); $str = implode(',', $taogu); echo '<hr>'; echo '<h4>explode($delimiter,$str,$num)</h4>'; echo '<pre>'; // print_r(explode(',',$str)); print_r(explode(',',$str,2)); //指定数量的数组 echo '<hr>'; echo '<h4>str_split($str,$length=1)</h4>'; echo '<pre>'; print_r(str_split($str,5)); //不输入数字,默认为1 echo '</div>'; ?> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
字符串的查找与替换
代码
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>字符串的查找与替换</title> <style type="text/css"> .box {width:90%;line-height:1.2em;border:1px dotted #d6d6d6;padding-left:15px;background-color:#f5f5f5;margin:10px auto;font-family:微软雅黑;} .box1 {width:90%;line-height:1.5em;border:1px dotted #d6d6d6;background-color:#f2edd7;font-family:微软雅黑;} .box p {margin-left:20px;font-size:14px;} hr {height:1px;width:95%;border:none;border-top:1px dashed #666;} </style> </head> <body> <?php $phonenum = '17620178910'; echo '<div class="box">'; echo '<h4>字符串的查找与替换</h4>'; echo '<div class="box1"> <p>语法结构 </p> <p>* 1.strpos($str1,$str2, $offset)查找$str1在$str1中首次出现的位置<p> <p>* 2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false<p> <p>* 如果确定$str2是$str1的子串,推荐使用strpos(),速度更快<p> <p>* 3.str_replace($str1, $str2, $str3, $num):子串替换,$num是替换次数<p> <p>* 4.substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串<p></div>'; echo '<h4>1.查找字符串首次出现的位置 (strpos($str,$needle, $offset))</h4>'; echo strpos($phonenum, '0'),'<br>'; //默认从头开始查找 echo strpos($phonenum, '0', 5),'<br>'; //从索引6开始查找 echo '<hr>'; echo '<h4>2.如果$str2是$str1的子串,返回子串,返回否则false (strstr($str1, $str2))</h4>'; echo strstr($phonenum, '2017'),'<br>'; //默认从头开始查找 echo strstr($phonenum, '2017', true),'<br>'; //参数true,会返回子串前面部分 echo '<hr>'; echo '<h4>3.子串替换 (str_replace($str1, $str2, $str3, $num))</h4>'; echo str_replace(2017,2078,$phonenum),'<br>'; //默认从头开始查找 倒着写 echo '<hr>'; echo '<h4>4.替换字符串的子串 (substr_replace($str1,$str2,$str3,$start, $length))</h4>'; echo substr_replace($phonenum,'****', 3, 4); //从第四位开始 替换4个字符 echo '<br>';echo '<br>'; echo '</div>'; ?> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例