当前位置:首页>php>PHP 数组与字符串速查:遍历/排序/正则/多字节

PHP 数组与字符串速查:遍历/排序/正则/多字节

  • 2026-08-18 23:11:10
PHP 数组与字符串速查:遍历/排序/正则/多字节

资料在文章末尾

前几篇讲完了变量、数据类型、流程控制和函数。但实际开发里,处理一批数据时单个变量根本不够用——学生名单、购物车商品、表单字段,这些都得靠数组。Web 开发里 80% 的活儿又都在处理字符串:用户输入清洗、URL 解析、内容搜索替换。这篇把数组和字符串的进阶用法一次讲透。

一、为什么数组和字符串这么重要

写博客系统时,文章列表、标签云、用户评论、配置项——几乎每个功能都在跟"一组数据"打交道。把一组相关数据放进一个变量,这就是数组。标题、正文、摘要的清洗、截断、替换,全靠字符串函数。

二、数组进阶:从基本操作到数据处理

2.1 数组的几种创建方式

除了前面用过的 array()和 [],还能用 range()explode()快速生成数组。

<?php// 使用 range 生成连续数组$numbers range(110);        // [1,2,...,10]$letters range('a''z');     // ['a','b',...,'z']$even range(0202);        // 步长为 2// 使用 explode 从字符串生成数组(回顾第二篇)$tags "php,mysql,html,css";$tagArray explode(","$tags);// 使用 array_combine 合并键和值数组$keys = ['name''age''city'];$values = ['张三'25'上海'];$info array_combine($keys$values);  // ['name'=>'张三', 'age'=>25, ...]?>

2.2 多维数组

数组里的元素也能是数组,形成多维结构,常用来表示表格数据或嵌套关系。

<?php$students = [    ["张三"22"计算机系"],    ["李四"23"数学系"],    ["王五"21"物理系"],];// 关联数组嵌套$users = [    "u01" => ["name" => "Alice""email" => "alice@example.com"],    "u02" => ["name" => "Bob",   "email" => "bob@example.com"],];echo $users["u01"]["name"]; // Alice?>

多维数组的访问用连续索引 [键1][键2]

2.3 数组的遍历

foreach 遍历多维数组

<?php$matrix = [    [123],    [456],    [789],];foreach($matrix as $row) {    foreach($row as $cell) {        echo $cell " ";    }    echo "\n";}?>

老代码里常见的 while (list($k, $v) = each($arr))在 PHP 7.2+ 已弃用,直接用 foreach就行。

数组内部指针函数 current()next()prev()end()reset()能手动移动指针,现代 PHP 里用得少,了解即可。

2.4 数组元素增删改

<?php$arr = ['a''b''c'];// 末尾添加array_push($arr'd');         // 返回新长度,也相当于 $arr[] = 'd';$arr[] = 'e';                  // 更简洁,推荐// 开头添加array_unshift($arr'x');      // 返回新长度// 末尾删除$last array_pop($arr);       // 返回移除的元素// 开头删除$first array_shift($arr);    // 返回移除的元素// 指定位置插入(无直接函数,使用 array_splice)array_splice($arr20'inserted'); // 索引2位置插入,不删除任何元素// 删除指定元素(根据值)$arr array_diff($arr, ['b']); // 删除所有值为 'b' 的元素// 删除并替换(用 array_splice)$removed array_splice($arr12, ['new1''new2']); // 从索引1开始删2个,插入新值?>

2.5 数组的合并与切片

合并

<?php$a = [123];$b = [456];$c array_merge($a$b);    // [1,2,3,4,5,6]// 关联数组合并,相同键后者覆盖前者$x = ['name' => '张三''age' => 20];$y = ['age' => 25'city' => '上海'];$z array_merge($x$y);    // ['name'=>'张三', 'age'=>25, 'city'=>'上海']// + 运算符也可以合并,但相同键保留前者$z2 $x $y;               // ['name'=>'张三', 'age'=>20, 'city'=>'上海']?>

切片array_slice()不改变原数组,array_splice()会修改原数组。

<?php$arr = [12345];// 切片:从索引 1 开始取 3 个$slice array_slice($arr13);   // [2,3,4](原数组不变)// 负数索引表示从末尾数$tail array_slice($arr, -2);      // [4,5]?>

2.6 数组排序详解

示例

<?php$fruits = ['orange''apple''banana'];sort($fruits);                // ['apple','banana','orange']$scores = ['张三' => 85'李四' => 92'王五' => 78];asort($scores);               // 按分数升序:王五、张三、李四ksort($scores);               // 按键名升序:张三(张的拼音靠后,看字符编码)// 自定义排序:按字符串长度usort($fruits, function($a$b) {    return strlen($a) - strlen($b);});?>

usort的比较函数返回整数:<0 表示 $a小于 $b,0 相等,>0 表示 $a大于 $b。PHP 7 引入的太空船运算符 <=>让比较更简洁:

usort($fruits, fn($a$b) => strlen($a) <=> strlen($b));

2.7 数组回调函数:数据处理的利器

array_map():对每个元素应用回调函数,返回新数组。

<?php$numbers = [12345];$squared array_map(function($n) { return $n $n; }, $numbers);// [1, 4, 9, 16, 25]// 可传入多个数组$a = [123];$b = [456];$sum array_map(fn($x$y) => $x $y$a$b);  // [5, 7, 9]?>

array_filter():用回调过滤元素,返回满足条件的元素。

<?php$numbers = [123456];$even array_filter($numbers, fn($n) => $n 2 == 0);// [1=>2, 3=>4, 5=>6] (键名保留)// 若想重置索引,用 array_values($even)?>

array_reduce():将数组迭代归约为单一值(求和、乘积、拼接字符串)。

<?php$numbers = [1234];$sum array_reduce($numbers, fn($carry$item) => $carry $item0); // 10?>

array_walk():对每个元素应用回调,直接修改原数组(返回 bool,不返回数组)。

<?php$fruits = ['apple''banana'];array_walk($fruits, function(&$value$key) {    $value strtoupper($value);});// $fruits 变为 ['APPLE', 'BANANA']?>

2.8 其他实用数组函数

    2.9 超全局数组:Web 开发的接口

    PHP 预定义了几个在任何作用域都能访问的"超全局"数组,是脚本跟外部交互的通道。

    <?php// $_GET:URL 查询字符串参数// URL:page.php?id=123&name=testecho $_GET['id'];    // 123// $_POST:HTTP POST 方法提交的数据echo $_POST['username'];// $_REQUEST:合并了 $_GET、$_POST、$_COOKIE(不推荐使用,来源不清)// $_SERVER:服务器和执行环境信息echo $_SERVER['HTTP_HOST'];    // 当前请求的主机名echo $_SERVER['REQUEST_URI'];  // 请求的 URI(不含主机)echo $_SERVER['REQUEST_METHOD'];// GET 或 POSTecho $_SERVER['REMOTE_ADDR'];  // 客户端 IPecho $_SERVER['HTTP_USER_AGENT'];// $_FILES:上传文件信息(下一篇详细讲)// $_SESSION:会话变量(需 session_start())// $_COOKIE:HTTP Cookie// $_ENV:环境变量?>
    安全提醒:永远不要直接信任 $_GET$_POST里的数据,使用前必须过滤和验证。

    三、字符串操作进阶:正则与多字节

    3.1 正则表达式入门

    正则表达式是字符串匹配和替换的利器。PHP 用 PCRE(Perl 兼容正则)函数族,都以 preg_开头。

    基础语法

    preg_match():匹配一次,返回 0/1,匹配结果存入第三个参数。

    <?php$email "user@example.com";$pattern "/^[\w\.-]+@[\w\.-]+\.\w{2,}$/";if(preg_match($pattern$email$matches)) {    echo "邮箱合法: " . $matches[0];else {    echo "邮箱非法";}?>

    preg_match_all():全局匹配,返回匹配次数。

    <?php$text "电话: 13800138000, 还有 15912345678";preg_match_all("/\d{11}/"$text$matches);print_r($matches[0]); // [13800138000, 15912345678]?>

    preg_replace():查找并替换。

    <?php$str "Hello, 2026!";$cleaned preg_replace("/\d+/""XXXX"$str);echo $cleaned// "Hello, XXXX!"?>

    preg_split():按模式分割字符串。

    <?php$data "apple, banana; orange | pineapple";$fruits preg_split("/[,;|]\s*/"$data);// ["apple", "banana", "orange", "pineapple"]?>

    常见正则示例

    • 手机号(中国大陆):/^1[3-9]\d{9}$/
    • URL:/https?:\/\/[\w\-]+(\.[\w\-]+)+([\w\-\.,@?^=%&:/~+#]*)?/
    • 日期 YYYY-MM-DD:/^\d{4}-\d{2}-\d{2}$/

    正则需要多练才能熟练,但掌握基本语法就够应付多数场景。

    3.2 多字节字符串处理

    处理中文等非英文字符时,必须用 mb_开头的多字节字符串函数,否则会得到错误结果。

    <?php$cn "你好世界";echo strlen($cn);       // 12(UTF-8 下每个汉字 3 字节)echo mb_strlen($cn);    // 4  (正确字符数)echo substr($cn03);       // 可能输出乱码echo mb_substr($cn02);    // "你好"echo mb_strpos($cn"世界");   // 2(从 0 开始)?>

    常用 mb_函数:mb_strlenmb_substrmb_strposmb_strtolowermb_strtouppermb_convert_encodingmb_convert_case等。

    设置内部编码(在脚本开头或 php.ini中):mb_internal_encoding("UTF-8");

    3.3 URL 与 HTML 相关函数

    <?php// URL 编码与解码$query "name=张三&age=25";$encoded urlencode($query);    // name=%E5%BC%A0%E4%B8%89...echo urldecode($encoded);        // 还原// HTTP 构建查询字符串$data = ['name' => '张三''age' => 25];echo http_build_query($data);    // name=%E5%BC%A0%E4%B8%89&age=25// 解析 URL$url "https://user:pass@example.com:8080/path?id=1#frag";$parts parse_url($url);print_r($parts);/*Array (    [scheme] => https    [host]   => example.com    [user]   => user    [pass]   => pass    [path]   => /path    [query]  => id=1    [fragment] => frag)*/?>

    3.4 字符串与数组的深度互转

    除了 explode和 implode,还有更灵活的 str_split和 preg_split

    <?php// 按字符分割(包括多字节慎用,最好用 mb_str_split PHP 7.4+)$chars str_split("Hello"2);  // ['He','ll','o'] // 利用正则分割,保留分隔符$str "apple, banana, orange";$parts preg_split("/(,\s*)/"$str, -1, PREG_SPLIT_DELIM_CAPTURE);// ["apple", ", ", "banana", ", ", "orange"]?>

    3.5 字符串搜索与高级替换

    <?php$text "Hello World, Hello PHP";// str_replace(基本替换)$replaced str_replace("Hello""你好"$text);// str_ireplace(不区分大小写)$replaced str_ireplace("hello""你好"$text);// strtr() 按字符映射替换echo strtr("abc""a""x");        // "xbc"echo strtr("abc", ["a"=>"x"]);      // "xbc"// strpos/stripos 查找位置,stripos 不区分大小写$pos strpos($text"World");      // 6// strstr/stristr 查找子串并返回从该位置到结尾的字符串$rest strstr($text"World");     // "World, Hello PHP"// strrchr 从最后出现的位置开始返回echo strrchr("file.txt.zip"".");  // ".zip"?>

    3.6 格式化输出函数

    <?php// printf 系列:格式化字符串并输出/返回$price 9.99;printf("价格:%.2f 元"$price);    // 直接输出$formatted sprintf("价格:%.2f 元"$price); // 返回字符串// number_format() 千位分隔与小数echo number_format(1234567.892'.'','); // 1,234,567.89// str_pad 填充echo str_pad("5"3"0", STR_PAD_LEFT); // 005// nl2br 换行符转 <br>echo nl2br("第一行\n第二行");?>

    四、综合实战:词频统计工具

    把数组和字符串函数结合起来,做一个命令行下的"词频统计器"——读取一段文本,统计每个单词出现次数并排序输出。

    <!DOCTYPE html><htmllang="zh-CN"><head>    <metacharset="UTF-8">    <title>英文词频统计工具</title>    <style>        * {            margin0;            padding0;            box-sizing: border-box;            font-family"Microsoft YaHei", sans-serif;        }        body {            background-color#f4f7fc;            padding40px;        }        .container {            max-width700px;            margin0 auto;            background#fff;            padding30px;            border-radius12px;            box-shadow0 4px 15px rgba(0,0,0,0.1);        }        h1 {            text-align: center;            color#2c3e50;            margin-bottom25px;            font-size24px;        }        table {            width100%;            border-collapse: collapse;        }        thtd {            padding12px 15px;            text-align: left;            border-bottom1px solid #e2e8f0;        }        th {            background-color#3498db;            color: white;        }        tr:nth-child(even) {            background-color#f8fafc;        }        .count-high {            color#e74c3c;            font-weight: bold;        }    </style></head><body><divclass="container">    <h1>📖 英文文本词频统计 TOP10</h1>    <?php    /**     * 简易英文词频统计器     * 输入一段英文文本,返回按单词出现频次降序的数组     * @param string $text 原始英文文本     * @param int $minLength 单词最小长度,默认2     * @return array [单词 => 出现次数]     */    function wordFrequency(string $text, int $minLength = 2): array {        // 全部转为小写        $text = mb_strtolower($text);        // 替换所有标点、特殊符号为空格,保留字母与连字符(复合单词)        $text = preg_replace("/[^a-z\s\-]/", " ", $text);        // 多个连续空格统一替换为单个空格        $text = preg_replace("/\s+/", " ", trim($text));        // 按空格分割单词,过滤空元素        $words = explode(" ", $text);        // 过滤长度不足的单词        $words = array_filter($words, function ($word) use ($minLength) {            return mb_strlen($word) >= $minLength;        });        // 统计每个单词出现次数        $frequency = array_count_values($words);        // 按频次降序排序        arsort($frequency);        return $frequency;    }    // 测试示例文本    $sample = "PHP is a popular general-purpose scripting language that is especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.";    // 获取词频结果    $result = wordFrequency($sample);    ?>    <table>        <tr>            <thwidth="12%">排名</th>            <thwidth="60%">单词</th>            <thwidth="28%">出现次数</th>        </tr>        <?php        $rank = 1;        foreach ($result as $word => $count) {            // 出现2次及以上标红加粗            $countClass = $count >= 2 ? 'count-high' : '';            echo <<<TR            <tr>                <td>{$rank}</td>                <td>{$word}</td>                <td class="{$countClass}">{$count}</td>            </tr>            TR;            if ($rank >= 10) break;            $rank++;        }        ?>    </table></div></body></html>

    这个程序用到了正则替换和分割、数组过滤、array_count_valuesarsortprintf,是本篇知识的集中运用。

    五、总结

    • 数组高级操作
      :创建(range/explode)、多维数组、增删改(push/pop/shift/unshift/splice)、合并与切片(merge/slice)、各种排序及自定义排序(usort)、回调函数(map/filter/reduce/walk)。
    • 超全局数组
      $_GET$_POST$_SERVER等是 Web 与 PHP 的核心交互接口。
    • 字符串进阶
      :正则表达式(preg_match/match_all/replace/split)、多字节字符串(mb_* 系列)、URL 与 HTML 函数、格式化输出。

    本文基于作者实际学习与项目经验整理,代码示例均经本地测试。文字整理过程中借助了 AI 工具辅助排版。

    如果这篇解决了你的问题,欢迎关注「云水一下」,后续遇到类似报错可以直接翻历史消息找。

    本文配套资料包

    代码合集
    速查手册
    实战练习题
    面试考点卡
    公众号回复php04获取

    资料下载

    -END-

    最新文章

    随机文章

    基本 文件 流程 错误 SQL 调试
    1. 请求信息 : 2026-08-21 21:09:52 HTTP/2.0 GET : https://f.mffb.com.cn/a/506152.html
    2. 运行时间 : 0.221672s [ 吞吐率:4.51req/s ] 内存消耗:4,817.73kb 文件加载:140
    3. 缓存信息 : 0 reads,0 writes
    4. 会话信息 : SESSION_ID=e90cce91a22c5607519eec9bd69130ec
    1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
    2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
    3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
    4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
    5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
    6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
    7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
    8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
    9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
    10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
    11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
    12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
    13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
    14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
    15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
    16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
    17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
    18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
    19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
    20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
    21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
    22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
    23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
    24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
    25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
    26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
    27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
    28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
    29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
    30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
    31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
    32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
    33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
    34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
    35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
    36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
    37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
    38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
    39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
    40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
    41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
    42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
    43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
    44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
    45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
    46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
    47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
    48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
    49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
    50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
    51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
    52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
    53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
    54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
    55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
    56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
    57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
    58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
    59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
    60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
    61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
    62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
    63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
    64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
    65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
    66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
    67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
    68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
    69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
    70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
    71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
    72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
    73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
    74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
    75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
    76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
    77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
    78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
    79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
    80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
    81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
    82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
    83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
    84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
    85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
    86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
    87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
    88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
    89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
    90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
    91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
    92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
    93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
    94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
    95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
    96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
    97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
    98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
    99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
    100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
    101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
    102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
    103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
    104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
    105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
    106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
    107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
    108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
    109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
    110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
    111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
    112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
    113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
    114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
    115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
    116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
    117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
    118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
    119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
    120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
    121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
    122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
    123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
    124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
    125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
    126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
    127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
    128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
    129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
    130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
    131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
    132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
    133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
    134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
    135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
    136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
    137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
    138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
    139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
    140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
    1. CONNECT:[ UseTime:0.001060s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
    2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001535s ]
    3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000681s ]
    4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000642s ]
    5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001426s ]
    6. SELECT * FROM `set` [ RunTime:0.000535s ]
    7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001299s ]
    8. SELECT * FROM `article` WHERE `id` = 506152 LIMIT 1 [ RunTime:0.006829s ]
    9. UPDATE `article` SET `lasttime` = 1787317792 WHERE `id` = 506152 [ RunTime:0.021415s ]
    10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000691s ]
    11. SELECT * FROM `article` WHERE `id` < 506152 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.006023s ]
    12. SELECT * FROM `article` WHERE `id` > 506152 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001731s ]
    13. SELECT * FROM `article` WHERE `id` < 506152 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004861s ]
    14. SELECT * FROM `article` WHERE `id` < 506152 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002734s ]
    15. SELECT * FROM `article` WHERE `id` < 506152 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004672s ]
    0.225399s