[{"data":1,"prerenderedAt":1391},["ShallowReactive",2],{"content:\u002Fphp-%E5%AD%A6%E4%B9%A0":3,"surround:\u002Fphp-%E5%AD%A6%E4%B9%A0":1390},{"id":4,"title":5,"body":6,"categories":1366,"date":1368,"description":1369,"draft":1370,"extension":1371,"image":1372,"meta":1373,"navigation":1375,"path":1376,"permalink":1376,"published":1372,"readingTime":1377,"recommend":1372,"references":1372,"seo":1382,"sitemap":1383,"stem":1384,"tags":1385,"type":1388,"updated":1368,"__hash__":1389},"content\u002Fposts\u002F2026\u002Fphp-学习.md","PHP 学习",{"type":7,"value":8,"toc":1323},"minimark",[9,12,17,22,39,49,58,61,64,70,73,80,86,88,92,95,102,108,111,146,152,155,312,315,321,324,407,409,413,416,438,441,465,468,560,563,584,587,596,599,605,607,611,614,620,623,629,632,658,660,664,667,673,676,682,686,689,695,768,770,774,780,815,817,821,827,858,860,864,870,872,876,882,995,997,1001,1007,1009,1013,1114,1116,1120,1126,1128,1132,1138,1140,1144],[10,11],"hr",{},[13,14,16],"h3",{"id":15},"一基本语法","一、基本语法",[18,19,21],"h4",{"id":20},"php-标签","PHP 标签",[23,24,25,26,30,31,34,35,38],"p",{},"PHP 脚本以 ",[27,28,29],"code",{"code":29},"\u003C?php"," 开始，以 ",[27,32,33],{"code":33},"?>"," 结束，可以放在文档中的任何位置。文件默认扩展名为 ",[27,36,37],{"code":37},".php","。",[40,41,47],"pre",{"className":42,"code":44,"language":45,"meta":46},[43],"language-php","\u003C?php\n\u002F\u002F PHP 代码\n?>\n","php","",[27,48,44],{"__ignoreMap":46},[50,51,52],"blockquote",{},[23,53,54,55,57],{},"纯 PHP 文件建议省略结尾 ",[27,56,33],{"code":33},"，避免意外输出空白字符。",[18,59,60],{"id":60},"输出内容",[23,62,63],{},"两种基础输出指令：",[40,65,68],{"className":66,"code":67,"language":45,"meta":46},[43],"\u003C?php\necho \"Hello World\";        \u002F\u002F 可输出多个参数，无返回值\nprint \"Hello World\";       \u002F\u002F 只能输出一个参数，返回 1\n?>\n",[27,69,67],{"__ignoreMap":46},[18,71,72],{"id":72},"语句分隔",[23,74,75,76,79],{},"每条语句末尾必须以分号 ",[27,77,78],{"code":78},";"," 结束。",[40,81,84],{"className":82,"code":83,"language":45,"meta":46},[43],"\u003C?php\n$x = 1;\n$y = 2;\necho $x + $y;\n?>\n",[27,85,83],{"__ignoreMap":46},[10,87],{},[13,89,91],{"id":90},"二变量与数据类型","二、变量与数据类型",[18,93,94],{"id":94},"变量",[23,96,97,98,101],{},"变量以 ",[27,99,100],{"code":100},"$"," 开头，区分大小写，无需声明类型。",[40,103,106],{"className":104,"code":105,"language":45,"meta":46},[43],"\u003C?php\n$name = \"Alice\";\n$age  = 25;\n$pi   = 3.14;\n?>\n",[27,107,105],{"__ignoreMap":46},[18,109,110],{"id":110},"作用域",[112,113,114,122,136],"ul",{},[115,116,117,121],"li",{},[118,119,120],"strong",{},"局部变量","：函数内部声明，仅函数内可访问",[115,123,124,127,128,131,132,135],{},[118,125,126],{},"全局变量","：函数外声明，函数内需用 ",[27,129,130],{"code":130},"global"," 关键字或 ",[27,133,134],{"code":134},"$GLOBALS"," 数组访问",[115,137,138,141,142,145],{},[118,139,140],{},"静态变量","：",[27,143,144],{"code":144},"static $x = 0;"," — 函数调用结束后不销毁",[40,147,150],{"className":148,"code":149,"language":45,"meta":46},[43],"\u003C?php\n$x = 10;                   \u002F\u002F 全局\n\nfunction test() {\n    global $x;             \u002F\u002F 引入全局变量\n    static $count = 0;     \u002F\u002F 静态变量\n    $count++;\n    echo $x + $count;\n}\n?>\n",[27,151,149],{"__ignoreMap":46},[18,153,154],{"id":154},"数据类型",[156,157,158,174],"table",{},[159,160,161],"thead",{},[162,163,164,168,171],"tr",{},[165,166,167],"th",{},"类型",[165,169,170],{},"说明",[165,172,173],{},"示例",[175,176,177,193,208,223,242,257,272,286,299],"tbody",{},[162,178,179,185,188],{},[180,181,182],"td",{},[27,183,184],{"code":184},"string",[180,186,187],{},"字符串",[180,189,190],{},[27,191,192],{"code":192},"\"hello\"",[162,194,195,200,203],{},[180,196,197],{},[27,198,199],{"code":199},"int",[180,201,202],{},"整数",[180,204,205],{},[27,206,207],{"code":207},"42",[162,209,210,215,218],{},[180,211,212],{},[27,213,214],{"code":214},"float",[180,216,217],{},"浮点数",[180,219,220],{},[27,221,222],{"code":222},"3.14",[162,224,225,230,233],{},[180,226,227],{},[27,228,229],{"code":229},"bool",[180,231,232],{},"布尔值",[180,234,235,238,239],{},[27,236,237],{"code":237},"true"," \u002F ",[27,240,241],{"code":241},"false",[162,243,244,249,252],{},[180,245,246],{},[27,247,248],{"code":248},"array",[180,250,251],{},"数组",[180,253,254],{},[27,255,256],{"code":256},"[1, 2, 3]",[162,258,259,264,267],{},[180,260,261],{},[27,262,263],{"code":263},"object",[180,265,266],{},"对象",[180,268,269],{},[27,270,271],{"code":271},"new Foo()",[162,273,274,279,282],{},[180,275,276],{},[27,277,278],{"code":278},"null",[180,280,281],{},"空值",[180,283,284],{},[27,285,278],{"code":278},[162,287,288,293,296],{},[180,289,290],{},[27,291,292],{"code":292},"callable",[180,294,295],{},"可调用",[180,297,298],{},"回调函数",[162,300,301,306,309],{},[180,302,303],{},[27,304,305],{"code":305},"resource",[180,307,308],{},"资源",[180,310,311],{},"文件句柄等",[18,313,314],{"id":314},"常量",[40,316,319],{"className":317,"code":318,"language":45,"meta":46},[43],"\u003C?php\ndefine(\"SITE_NAME\", \"My Blog\");           \u002F\u002F 传统方式\nconst VERSION = \"2.0\";                    \u002F\u002F 编译时定义（更快）\n\necho SITE_NAME;\n?>\n",[27,320,318],{"__ignoreMap":46},[18,322,323],{"id":323},"魔术常量",[156,325,326,335],{},[159,327,328],{},[162,329,330,332],{},[165,331,314],{},[165,333,334],{},"含义",[175,336,337,347,357,367,377,387,397],{},[162,338,339,344],{},[180,340,341],{},[27,342,343],{"code":343},"__LINE__",[180,345,346],{},"当前行号",[162,348,349,354],{},[180,350,351],{},[27,352,353],{"code":353},"__FILE__",[180,355,356],{},"文件完整路径",[162,358,359,364],{},[180,360,361],{},[27,362,363],{"code":363},"__DIR__",[180,365,366],{},"文件所在目录",[162,368,369,374],{},[180,370,371],{},[27,372,373],{"code":373},"__FUNCTION__",[180,375,376],{},"当前函数名",[162,378,379,384],{},[180,380,381],{},[27,382,383],{"code":383},"__CLASS__",[180,385,386],{},"当前类名",[162,388,389,394],{},[180,390,391],{},[27,392,393],{"code":393},"__METHOD__",[180,395,396],{},"当前方法名",[162,398,399,404],{},[180,400,401],{},[27,402,403],{"code":403},"__NAMESPACE__",[180,405,406],{},"当前命名空间",[10,408],{},[13,410,412],{"id":411},"三运算符","三、运算符",[18,414,415],{"id":415},"算术运算符",[23,417,418,421,422,421,425,421,428,421,431,421,434,437],{},[27,419,420],{"code":420},"+"," ",[27,423,424],{"code":424},"-",[27,426,427],{"code":427},"*",[27,429,430],{"code":430},"\u002F",[27,432,433],{"code":433},"%",[27,435,436],{"code":436},"**","（乘方）",[18,439,440],{"id":440},"赋值运算符",[23,442,443,421,446,421,449,421,452,421,455,421,458,421,461,464],{},[27,444,445],{"code":445},"=",[27,447,448],{"code":448},"+=",[27,450,451],{"code":451},"-=",[27,453,454],{"code":454},"*=",[27,456,457],{"code":457},"\u002F=",[27,459,460],{"code":460},"%=",[27,462,463],{"code":463},".=","（字符串拼接赋值）",[18,466,467],{"id":467},"比较运算符",[156,469,470,479],{},[159,471,472],{},[162,473,474,477],{},[165,475,476],{},"运算符",[165,478,334],{},[175,480,481,491,501,514,524,537,550],{},[162,482,483,488],{},[180,484,485],{},[27,486,487],{"code":487},"==",[180,489,490],{},"等于（值相等）",[162,492,493,498],{},[180,494,495],{},[27,496,497],{"code":497},"===",[180,499,500],{},"全等（值与类型均相等）",[162,502,503,511],{},[180,504,505,238,508],{},[27,506,507],{"code":507},"!=",[27,509,510],{"code":510},"\u003C>",[180,512,513],{},"不等于",[162,515,516,521],{},[180,517,518],{},[27,519,520],{"code":520},"!==",[180,522,523],{},"不全等",[162,525,526,534],{},[180,527,528,238,531],{},[27,529,530],{"code":530},">",[27,532,533],{"code":533},"\u003C",[180,535,536],{},"大于 \u002F 小于",[162,538,539,547],{},[180,540,541,238,544],{},[27,542,543],{"code":543},">=",[27,545,546],{"code":546},"\u003C=",[180,548,549],{},"大于等于 \u002F 小于等于",[162,551,552,557],{},[180,553,554],{},[27,555,556],{"code":556},"\u003C=>",[180,558,559],{},"太空船（返回 -1\u002F0\u002F1）",[18,561,562],{"id":562},"逻辑运算符",[23,564,565,238,568,571,572,238,575,571,578,571,581],{},[27,566,567],{"code":567},"&&",[27,569,570],{"code":570},"and","、",[27,573,574],{"code":574},"||",[27,576,577],{"code":577},"or",[27,579,580],{"code":580},"!",[27,582,583],{"code":583},"xor",[18,585,586],{"id":586},"字符串运算符",[23,588,589,592,593,595],{},[27,590,591],{"code":591},"."," 拼接、",[27,594,463],{"code":463}," 拼接赋值",[18,597,598],{"id":598},"三元与空合并",[40,600,603],{"className":601,"code":602,"language":45,"meta":46},[43],"\u003C?php\n$result = $x > 0 ? \"positive\" : \"non-positive\";   \u002F\u002F 三元\n$name   = $_GET[\"name\"] ?? \"default\";              \u002F\u002F null 合并（PHP 7+）\n$name   = $_GET[\"name\"] ?: \"default\";              \u002F\u002F 短路三元（falsy 时取默认）\n?>\n",[27,604,602],{"__ignoreMap":46},[10,606],{},[13,608,610],{"id":609},"四控制结构","四、控制结构",[18,612,613],{"id":613},"条件语句",[40,615,618],{"className":616,"code":617,"language":45,"meta":46},[43],"\u003C?php\n\u002F\u002F if \u002F elseif \u002F else\nif ($a > $b) {\n    echo \"a > b\";\n} elseif ($a == $b) {\n    echo \"a == b\";\n} else {\n    echo \"a \u003C b\";\n}\n\n\u002F\u002F switch\nswitch ($color) {\n    case \"red\":\n        echo \"红色\";\n        break;\n    case \"blue\":\n        echo \"蓝色\";\n        break;\n    default:\n        echo \"其他颜色\";\n}\n\n\u002F\u002F match（PHP 8.0+，严格比较，返回结果）\n$result = match($code) {\n    200     => \"OK\",\n    404     => \"Not Found\",\n    default => \"Unknown\",\n};\n?>\n",[27,619,617],{"__ignoreMap":46},[18,621,622],{"id":622},"循环",[40,624,627],{"className":625,"code":626,"language":45,"meta":46},[43],"\u003C?php\n\u002F\u002F while\n$i = 0;\nwhile ($i \u003C 5) { echo $i; $i++; }\n\n\u002F\u002F do...while\n$i = 0;\ndo { echo $i; $i++; } while ($i \u003C 5);\n\n\u002F\u002F for\nfor ($i = 0; $i \u003C 5; $i++) { echo $i; }\n\n\u002F\u002F foreach（遍历数组\u002F对象）\nforeach ($arr as $value) { echo $value; }\nforeach ($arr as $key => $value) { echo \"$key: $value\"; }\n?>\n",[27,628,626],{"__ignoreMap":46},[18,630,631],{"id":631},"跳转语句",[112,633,634,640,646,652],{},[115,635,636,639],{},[27,637,638],{"code":638},"break"," — 跳出循环\u002Fswitch",[115,641,642,645],{},[27,643,644],{"code":644},"continue"," — 跳过本次循环剩余代码",[115,647,648,651],{},[27,649,650],{"code":650},"return"," — 终止函数并返回值",[115,653,654,657],{},[27,655,656],{"code":656},"goto"," — 跳转到指定标签（不推荐）",[10,659],{},[13,661,663],{"id":662},"五注释","五、注释",[18,665,666],{"id":666},"单行注释",[40,668,671],{"className":669,"code":670,"language":45,"meta":46},[43],"\u003C?php\n\u002F\u002F 这是单行注释\necho \"Hello\"; \u002F\u002F 也可以放在语句后面\n\n# 这是另一种单行注释\necho \"World\";\n?>\n",[27,672,670],{"__ignoreMap":46},[18,674,675],{"id":675},"多行注释",[40,677,680],{"className":678,"code":679,"language":45,"meta":46},[43],"\u003C?php\n\u002F*\n这是多行注释\n可以写多行文字\n不会被执行\n*\u002F\necho \"PHP\";\n?>\n",[27,681,679],{"__ignoreMap":46},[18,683,685],{"id":684},"文档注释docblock","文档注释（DocBlock）",[23,687,688],{},"用于生成 API 文档，配合 IDE 或 phpDocumentor 使用。",[40,690,693],{"className":691,"code":692,"language":45,"meta":46},[43],"\u003C?php\n\u002F**\n * 打印问候语\n *\n * @param string $name 用户名\n * @return string 返回问候语\n *\u002F\nfunction sayHello($name) {\n    return \"Hello, $name!\";\n}\n?>\n",[27,694,692],{"__ignoreMap":46},[156,696,697,709],{},[159,698,699],{},[162,700,701,704,707],{},[165,702,703],{},"用途",[165,705,706],{},"推荐形式",[165,708,173],{},[175,710,711,730,743],{},[162,712,713,716,725],{},[180,714,715],{},"简单说明一行",[180,717,718,721,722],{},[27,719,720],{"code":720},"\u002F\u002F"," 或 ",[27,723,724],{"code":724},"#",[180,726,727],{},[27,728,729],{"code":729},"\u002F\u002F 输出信息",[162,731,732,735,740],{},[180,733,734],{},"说明代码块",[180,736,737],{},[27,738,739],{"code":739},"\u002F* ... *\u002F",[180,741,742],{},"逻辑分块注释",[162,744,745,748,754],{},[180,746,747],{},"函数\u002F类文档",[180,749,750,753],{},[27,751,752],{"code":752},"\u002F** ... *\u002F"," DocBlock",[180,755,756,421,759,421,762,421,765],{},[27,757,758],{"code":758},"@param",[27,760,761],{"code":761},"@return",[27,763,764],{"code":764},"@var",[27,766,767],{"code":767},"@author",[10,769],{},[13,771,773],{"id":772},"六字符串","六、字符串",[40,775,778],{"className":776,"code":777,"language":45,"meta":46},[43],"\u003C?php\n\u002F\u002F 单引号：不解析变量、转义字符\n$s1 = 'Hello $name';        \u002F\u002F 输出: Hello $name\n\n\u002F\u002F 双引号：解析变量和转义字符\n$s2 = \"Hello $name\";        \u002F\u002F 输出: Hello Alice\n$s3 = \"Hello {$name}s\";     \u002F\u002F 花括号明确变量边界\n\n\u002F\u002F Heredoc（类似双引号）\n$s4 = \u003C\u003C\u003CEOT\n多行字符串，解析 {$name}\nEOT;\n\n\u002F\u002F Nowdoc（类似单引号，PHP 5.3+）\n$s5 = \u003C\u003C\u003C'EOT'\n多行字符串，不解析 $name\nEOT;\n?>\n",[27,779,777],{"__ignoreMap":46},[23,781,782,141,785,421,788,421,791,421,794,421,797,421,800,421,803,421,806,421,809,421,812],{},[118,783,784],{},"常用函数",[27,786,787],{"code":787},"strlen()",[27,789,790],{"code":790},"str_replace()",[27,792,793],{"code":793},"strpos()",[27,795,796],{"code":796},"substr()",[27,798,799],{"code":799},"strtolower()",[27,801,802],{"code":802},"strtoupper()",[27,804,805],{"code":805},"trim()",[27,807,808],{"code":808},"explode()",[27,810,811],{"code":811},"implode()",[27,813,814],{"code":814},"sprintf()",[10,816],{},[13,818,820],{"id":819},"七数组","七、数组",[40,822,825],{"className":823,"code":824,"language":45,"meta":46},[43],"\u003C?php\n\u002F\u002F 索引数组\n$arr1 = [1, 2, 3];\n$arr1 = array(1, 2, 3);              \u002F\u002F 旧语法\n\n\u002F\u002F 关联数组（键值对）\n$arr2 = [\"name\" => \"Alice\", \"age\" => 25];\n\n\u002F\u002F 多维数组\n$arr3 = [[1, 2], [3, 4]];\n\n\u002F\u002F 常用操作\n$arr1[] = 4;                          \u002F\u002F 追加元素\n$count = count($arr1);                \u002F\u002F 元素个数\n$has   = in_array(2, $arr1);         \u002F\u002F 检查值是否存在\n$has   = array_key_exists(\"name\", $arr2); \u002F\u002F 检查键是否存在\nunset($arr1[0]);                      \u002F\u002F 删除元素\n\n\u002F\u002F 展开运算符（PHP 7.4+）\n$merged = [...$arr1, ...$arr2];\n?>\n",[27,826,824],{"__ignoreMap":46},[23,828,829,141,831,421,834,421,837,421,840,421,843,421,846,421,849,421,852,421,855],{},[118,830,784],{},[27,832,833],{"code":833},"array_merge()",[27,835,836],{"code":836},"array_filter()",[27,838,839],{"code":839},"array_map()",[27,841,842],{"code":842},"array_reduce()",[27,844,845],{"code":845},"array_keys()",[27,847,848],{"code":848},"array_values()",[27,850,851],{"code":851},"sort()",[27,853,854],{"code":854},"array_push()",[27,856,857],{"code":857},"array_pop()",[10,859],{},[13,861,863],{"id":862},"八函数","八、函数",[40,865,868],{"className":866,"code":867,"language":45,"meta":46},[43],"\u003C?php\n\u002F\u002F 基本函数\nfunction greet($name = \"Guest\") {\n    return \"Hello, $name!\";\n}\n\n\u002F\u002F 类型声明（PHP 7+）\nfunction add(int $a, int $b): int {\n    return $a + $b;\n}\n\n\u002F\u002F 可变参数\nfunction sum(...$nums) {\n    return array_sum($nums);\n}\necho sum(1, 2, 3, 4);    \u002F\u002F 10\n\n\u002F\u002F 匿名函数（闭包）\n$double = function($x) { return $x * 2; };\n\n\u002F\u002F 箭头函数（PHP 7.4+）\n$triple = fn($x) => $x * 3;\n?>\n",[27,869,867],{"__ignoreMap":46},[10,871],{},[13,873,875],{"id":874},"九类与对象","九、类与对象",[40,877,880],{"className":878,"code":879,"language":45,"meta":46},[43],"\u003C?php\nclass Person {\n    \u002F\u002F 属性\n    public    $name;\n    protected $age;\n    private   $id;\n\n    \u002F\u002F 构造方法\n    public function __construct(string $name, int $age) {\n        $this->name = $name;\n        $this->age  = $age;\n    }\n\n    \u002F\u002F 方法\n    public function greet(): string {\n        return \"Hi, I'm {$this->name}\";\n    }\n\n    \u002F\u002F 静态方法\n    public static function species(): string {\n        return \"Homo sapiens\";\n    }\n}\n\n\u002F\u002F 实例化\n$alice = new Person(\"Alice\", 25);\necho $alice->greet();\n\n\u002F\u002F 继承\nclass Student extends Person {\n    public function __construct(string $name, int $age, private string $school) {\n        parent::__construct($name, $age);\n    }\n}\n?>\n",[27,881,879],{"__ignoreMap":46},[156,883,884,893],{},[159,885,886],{},[162,887,888,891],{},[165,889,890],{},"关键字",[165,892,334],{},[175,894,895,905,915,925,935,945,955,965,975,985],{},[162,896,897,902],{},[180,898,899],{},[27,900,901],{"code":901},"public",[180,903,904],{},"任何地方可访问",[162,906,907,912],{},[180,908,909],{},[27,910,911],{"code":911},"protected",[180,913,914],{},"自身及子类可访问",[162,916,917,922],{},[180,918,919],{},[27,920,921],{"code":921},"private",[180,923,924],{},"仅自身可访问",[162,926,927,932],{},[180,928,929],{},[27,930,931],{"code":931},"static",[180,933,934],{},"静态属性\u002F方法",[162,936,937,942],{},[180,938,939],{},[27,940,941],{"code":941},"readonly",[180,943,944],{},"只读属性（PHP 8.1+）",[162,946,947,952],{},[180,948,949],{},[27,950,951],{"code":951},"abstract",[180,953,954],{},"抽象类\u002F方法",[162,956,957,962],{},[180,958,959],{},[27,960,961],{"code":961},"final",[180,963,964],{},"不可被继承\u002F重写",[162,966,967,972],{},[180,968,969],{},[27,970,971],{"code":971},"interface",[180,973,974],{},"定义接口规范",[162,976,977,982],{},[180,978,979],{},[27,980,981],{"code":981},"trait",[180,983,984],{},"代码复用机制",[162,986,987,992],{},[180,988,989],{},[27,990,991],{"code":991},"enum",[180,993,994],{},"枚举（PHP 8.1+）",[10,996],{},[13,998,1000],{"id":999},"十包含文件","十、包含文件",[40,1002,1005],{"className":1003,"code":1004,"language":45,"meta":46},[43],"\u003C?php\ninclude \"file.php\";       \u002F\u002F 包含（文件不存在仅警告，继续执行）\nrequire \"file.php\";       \u002F\u002F 包含（文件不存在则致命错误，停止执行）\ninclude_once \"file.php\";  \u002F\u002F 仅包含一次\nrequire_once \"file.php\";  \u002F\u002F 仅包含一次（最常用）\n?>\n",[27,1006,1004],{"__ignoreMap":46},[10,1008],{},[13,1010,1012],{"id":1011},"十一超全局变量","十一、超全局变量",[156,1014,1015,1023],{},[159,1016,1017],{},[162,1018,1019,1021],{},[165,1020,94],{},[165,1022,703],{},[175,1024,1025,1035,1045,1055,1065,1075,1085,1095,1105],{},[162,1026,1027,1032],{},[180,1028,1029],{},[27,1030,1031],{"code":1031},"$_GET",[180,1033,1034],{},"URL 查询参数",[162,1036,1037,1042],{},[180,1038,1039],{},[27,1040,1041],{"code":1041},"$_POST",[180,1043,1044],{},"POST 表单数据",[162,1046,1047,1052],{},[180,1048,1049],{},[27,1050,1051],{"code":1051},"$_REQUEST",[180,1053,1054],{},"GET + POST + COOKIE 合集",[162,1056,1057,1062],{},[180,1058,1059],{},[27,1060,1061],{"code":1061},"$_SERVER",[180,1063,1064],{},"服务器和执行环境信息",[162,1066,1067,1072],{},[180,1068,1069],{},[27,1070,1071],{"code":1071},"$_COOKIE",[180,1073,1074],{},"Cookie 数据",[162,1076,1077,1082],{},[180,1078,1079],{},[27,1080,1081],{"code":1081},"$_SESSION",[180,1083,1084],{},"会话数据",[162,1086,1087,1092],{},[180,1088,1089],{},[27,1090,1091],{"code":1091},"$_FILES",[180,1093,1094],{},"上传文件信息",[162,1096,1097,1102],{},[180,1098,1099],{},[27,1100,1101],{"code":1101},"$_ENV",[180,1103,1104],{},"环境变量",[162,1106,1107,1111],{},[180,1108,1109],{},[27,1110,134],{"code":134},[180,1112,1113],{},"所有全局变量",[10,1115],{},[13,1117,1119],{"id":1118},"十二错误处理","十二、错误处理",[40,1121,1124],{"className":1122,"code":1123,"language":45,"meta":46},[43],"\u003C?php\n\u002F\u002F try-catch-finally\ntry {\n    \u002F\u002F 可能出错的代码\n    throw new Exception(\"出错了\");\n} catch (Exception $e) {\n    echo \"错误：\" . $e->getMessage();\n} finally {\n    \u002F\u002F 无论是否异常都会执行\n}\n?>\n",[27,1125,1123],{"__ignoreMap":46},[10,1127],{},[13,1129,1131],{"id":1130},"十三命名空间","十三、命名空间",[40,1133,1136],{"className":1134,"code":1135,"language":45,"meta":46},[43],"\u003C?php\nnamespace App\\Models;\n\nuse App\\Utils\\Helper;\n\nclass User {\n    \u002F\u002F ...\n}\n?>\n",[27,1137,1135],{"__ignoreMap":46},[10,1139],{},[13,1141,1143],{"id":1142},"十四常用内置函数速查","十四、常用内置函数速查",[156,1145,1146,1156],{},[159,1147,1148],{},[162,1149,1150,1153],{},[165,1151,1152],{},"类别",[165,1154,1155],{},"函数",[175,1157,1158,1177,1193,1210,1229,1242,1258,1286,1304],{},[162,1159,1160,1163],{},[180,1161,1162],{},"输出",[180,1164,1165,421,1168,421,1171,421,1174],{},[27,1166,1167],{"code":1167},"echo",[27,1169,1170],{"code":1170},"print",[27,1172,1173],{"code":1173},"var_dump()",[27,1175,1176],{"code":1176},"print_r()",[162,1178,1179,1181],{},[180,1180,187],{},[180,1182,1183,421,1185,421,1187,421,1189,421,1191],{},[27,1184,787],{"code":787},[27,1186,793],{"code":793},[27,1188,796],{"code":796},[27,1190,790],{"code":790},[27,1192,805],{"code":805},[162,1194,1195,1197],{},[180,1196,251],{},[180,1198,1199,421,1202,421,1204,421,1206,421,1208],{},[27,1200,1201],{"code":1201},"count()",[27,1203,833],{"code":833},[27,1205,836],{"code":836},[27,1207,839],{"code":839},[27,1209,851],{"code":851},[162,1211,1212,1215],{},[180,1213,1214],{},"文件",[180,1216,1217,421,1220,421,1223,421,1226],{},[27,1218,1219],{"code":1219},"file_get_contents()",[27,1221,1222],{"code":1222},"file_put_contents()",[27,1224,1225],{"code":1225},"fopen()",[27,1227,1228],{"code":1228},"fclose()",[162,1230,1231,1234],{},[180,1232,1233],{},"JSON",[180,1235,1236,421,1239],{},[27,1237,1238],{"code":1238},"json_encode()",[27,1240,1241],{"code":1241},"json_decode()",[162,1243,1244,1247],{},[180,1245,1246],{},"日期",[180,1248,1249,421,1252,421,1255],{},[27,1250,1251],{"code":1251},"date()",[27,1253,1254],{"code":1254},"time()",[27,1256,1257],{"code":1257},"strtotime()",[162,1259,1260,1263],{},[180,1261,1262],{},"数学",[180,1264,1265,421,1268,421,1271,421,1274,421,1277,421,1280,421,1283],{},[27,1266,1267],{"code":1267},"abs()",[27,1269,1270],{"code":1270},"round()",[27,1272,1273],{"code":1273},"ceil()",[27,1275,1276],{"code":1276},"floor()",[27,1278,1279],{"code":1279},"rand()",[27,1281,1282],{"code":1282},"max()",[27,1284,1285],{"code":1285},"min()",[162,1287,1288,1290],{},[180,1289,94],{},[180,1291,1292,421,1295,421,1298,421,1301],{},[27,1293,1294],{"code":1294},"isset()",[27,1296,1297],{"code":1297},"empty()",[27,1299,1300],{"code":1300},"is_null()",[27,1302,1303],{"code":1303},"gettype()",[162,1305,1306,1309],{},[180,1307,1308],{},"其他",[180,1310,1311,238,1314,421,1317,421,1320],{},[27,1312,1313],{"code":1313},"die()",[27,1315,1316],{"code":1316},"exit()",[27,1318,1319],{"code":1319},"sleep()",[27,1321,1322],{"code":1322},"header()",{"title":46,"searchDepth":1324,"depth":1324,"links":1325},4,[1326,1332,1339,1347,1352,1357,1358,1359,1360,1361,1362,1363,1364,1365],{"id":15,"depth":1327,"text":16,"children":1328},3,[1329,1330,1331],{"id":20,"depth":1324,"text":21},{"id":60,"depth":1324,"text":60},{"id":72,"depth":1324,"text":72},{"id":90,"depth":1327,"text":91,"children":1333},[1334,1335,1336,1337,1338],{"id":94,"depth":1324,"text":94},{"id":110,"depth":1324,"text":110},{"id":154,"depth":1324,"text":154},{"id":314,"depth":1324,"text":314},{"id":323,"depth":1324,"text":323},{"id":411,"depth":1327,"text":412,"children":1340},[1341,1342,1343,1344,1345,1346],{"id":415,"depth":1324,"text":415},{"id":440,"depth":1324,"text":440},{"id":467,"depth":1324,"text":467},{"id":562,"depth":1324,"text":562},{"id":586,"depth":1324,"text":586},{"id":598,"depth":1324,"text":598},{"id":609,"depth":1327,"text":610,"children":1348},[1349,1350,1351],{"id":613,"depth":1324,"text":613},{"id":622,"depth":1324,"text":622},{"id":631,"depth":1324,"text":631},{"id":662,"depth":1327,"text":663,"children":1353},[1354,1355,1356],{"id":666,"depth":1324,"text":666},{"id":675,"depth":1324,"text":675},{"id":684,"depth":1324,"text":685},{"id":772,"depth":1327,"text":773},{"id":819,"depth":1327,"text":820},{"id":862,"depth":1327,"text":863},{"id":874,"depth":1327,"text":875},{"id":999,"depth":1327,"text":1000},{"id":1011,"depth":1327,"text":1012},{"id":1118,"depth":1327,"text":1119},{"id":1130,"depth":1327,"text":1131},{"id":1142,"depth":1327,"text":1143},[1367],"Web","2026-07-17","PHP 基础语法与常用写法笔记。",false,"md",null,{"slots":1374},{},true,"\u002Fphp-学习",{"text":1378,"minutes":1379,"time":1380,"words":1381},"8 min read",7.8,468000,1560,{"title":5,"description":1369},{"loc":1376},"posts\u002F2026\u002Fphp-学习",[1386,1387],"PHP","Notes","tech","35Tl7Y5q6CeZ23Sdkl-dikU-7b5DSmFIXJX-PZQLgho",[1372,1372],1786294717517]