Blogger Information
Blog 22
fans 0
comment 0
visits 14816
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
用函数usort()演示二维数组的排序;实例演示如何使用三种最常用的子串查询函数;学会使用str_replace(), substr_replace()两种函数查询并替换字符串。2018-8-28 19:50
朝闻道的博客
Original
837 people have browsed it

实例演示代码如下:

实例

<?php
//数组:由键名和值二部分组成,排序也主要是依据键名与值
//* 键名: 索引和关联,升序和降序
//* 值: 也有二种排序规则
$arr = [13,14,19,26,32,33,8,6];
usort($arr, function($var1, $var2) {
    $res = $var1 - $var2;
    switch ($res) {
        case ($res < 0):
//            return -1;
            return 1;  // 降序
            break;
        case ($res > 0):
//            return 1;
            return -1; // 降序
            break;
        case ($res == 0):
            return 0;
            break;
    }
});
echo var_export($arr),'<hr>';
// usort()多维数组的排序
$stu = [
    ['name'=>'李小龙','grade'=>88],
    ['name'=>'李连杰','grade'=>85],
    ['name'=>'李晓春','grade'=>80],
];
echo '排序之前:',var_export($stu,true),'<hr>';
//用户自定义排序规则根据数组的值进行排序
usort($stu, function ($m, $n) {
    //$m ,$n实际上还是一个数组
    return strcmp($m['grade'], $n['grade']);
});
echo '排序之后:',var_export($stu,true),'<hr>';//升序

//根据数组的键进行排序
$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];
ksort($lang);
echo var_export($lang),'<hr>';//升序

$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];
krsort($lang);
echo var_export($lang),'<hr>';//降序

//使用自定义的回调函数,对键名进行排序
// 根据键名的第三个字母进行排序
$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];
uksort($lang, function($m, $n) {
    $a = substr($m,3,3);
    $b = substr($n,3,3);
    return strcmp($a, $b);
});
echo var_export($lang),'<hr>';//升序

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<?php
//* 三个最基本最常用的子串查询函数
//1. substr($str, $offset, $length):只知道要获取子串的位置,精确查询
$str = 'PHP is the best programming language';

// substr(), 索引从6开始的剩余内容,根据位置查询
echo substr($str, 6), '<br>';
echo substr($str, 8,6), '<br>'; // 区间查询,从前往后数的第8开始取6个
echo substr($str, -8), '<br>'; // 区间查询,从最后一个开始往前数取8个

//strstr($str1, $str2,bool)
$email = 'admin@qq.com';
// 查询@是否存在,默认返回@以及后面的内容
echo strstr($email, '@'),'<br>';
// 传入第三个参数:true,仅返回@符之前的内容(不包含@)
echo strstr($email, '@',true),'<br>';
echo strstr($email, '@',true),strstr($email, '@'),'<br>';


// strpos($str1, $str2, $start): 根据内容查询,返回字符串首次出现的位置
echo strpos($str, 'the');

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<?php
//* 字符串查找并替换的二个函数:str_replace(), substr_replace()
$str = 'bill jin is Yong artists';
//1.str_replace()
echo str_replace('bill', 'JACK', $str), '<br>';
//删除式替换
echo str_replace('Yong', '', $str), '<br>';
// 一次性替换多个内容
echo str_replace(['bill','jin','Yong'],'比尔金', $str), '<br>';
echo str_replace(['bill','jin','Yong'],['比尔','金','年轻人'], $str), '<br>';
// str_ireplace(): 忽略大小写的替换
echo '<hr>';
// substr_replace()

echo substr_replace($str,'时间是检验真理的唯一标准',0), '<br>';
echo substr_replace($str,'PHP是最好的编程语言',0,strlen($str)), '<br>';

echo substr_replace($str, '新闻联播 ',12,0),'<br>';
echo substr_replace($str, 'passion',9,3),'<br>';
// 删除式替换
echo substr_replace($str, '',6,8);

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:qualified

Teacher's comments:加点自己的总结就更好了!
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments