以下是PHP中mysqli_fetch系列四种常用查询函数mysqli_fetch_array、mysqli_fetch_assoc、mysqli_fetch_row、mysqli_fetch_object的比较表涵盖返回类型、索引方式、参数、性能特点及适用场景等关键方面帮助开发者快速选择合适函数。函数名返回类型索引方式参数使用示例主要特点与适用场景‌mysqli_fetch_array‌数组可选关联数组、数字索引数组或两者兼有默认result_type:MYSQLI_BOTH默认、MYSQLI_ASSOC、MYSQLI_NUM$row $result-fetch_array(); echo $row[name] . $row[0];灵活性高但可能冗余可通过参数控制返回格式适合需同时访问字段名和数字索引的场景。‌mysqli_fetch_assoc‌数组仅关联数组字段名作为键无$row $result-fetch_assoc(); echo $row[name];返回纯关联数组代码可读性好性能优于mysqli_fetch_array无多余索引适合需明确字段名的查询。‌mysqli_fetch_row‌数组仅数字索引数组按查询字段顺序无$row $result-fetch_row(); echo $row[0];高效轻量仅数字索引适用于字段顺序固定或不关心字段名的场景如快速导出数据。‌mysqli_fetch_object‌对象属性访问字段名作为属性无$row $result-fetch_object(); echo $row-name;面向对象风格需通过-访问属性适合集成到类或需链式操作的场景但创建对象稍慢。补充说明‌性能对比‌mysqli_fetch_row通常最快仅数字索引mysqli_fetch_object稍慢需实例化对象而mysqli_fetch_array和mysqli_fetch_assoc居中。优先选择最简索引方式以优化性能。‌结果集处理‌所有函数逐行移动结果集指针末尾返回false数组函数或null对象函数。‌错误处理‌查询失败时mysqli_query返回false需先验证结果集再调用fetch函数。‌推荐实践‌明确字段名时用mysqli_fetch_assoc简洁高效。需混合索引时用mysqli_fetch_array参数控制。面向对象代码用mysqli_fetch_object。高性能批量处理用mysqli_fetch_row。此表综合了函数的核心差异实际选择应结合查询需求和数据访问模式。二、示例以下是PHP中mysqli_fetch四种查询函数的实例输出对比通过print_r展示不同返回格式用pre标签清晰呈现出不同方便大家对比1.mysqli_fetch_array‌特点‌默认返回同时包含数字索引和关联索引的数组MYSQLI_BOTH。123$result$conn-query(SELECT id, name FROM users);$row$result-fetch_array();// 默认 MYSQLI_BOTHechopre; print_r($row);echo/pre;‌输出‌1234567Array([0] 1// 数字索引[id] 1// 关联索引[1] Alice// 数字索引[name] Alice// 关联索引)2.mysqli_fetch_assoc‌特点‌仅返回关联索引数组字段名作为键。12$row$result-fetch_assoc();echopre; print_r($row);echo/pre;‌输出‌12345Array([id] 1[name] Alice)3.mysqli_fetch_row‌特点‌仅返回数字索引数组按查询字段顺序。12$row$result-fetch_row();echopre; print_r($row);echo/pre;‌输出‌12345Array([0] 1[1] Alice)4.mysqli_fetch_object‌特点‌返回对象通过属性访问字段。12$row$result-fetch_object();echopre; print_r($row);echo/pre;‌输出‌12345stdClass Object([id] 1[name] Alice)关键区别总结索引方式‌fetch_array双索引数字关联。fetch_assoc仅关联索引。fetch_row仅数字索引。fetch_object对象属性。‌性能‌fetch_row最快无额外索引fetch_object稍慢需实例化。‌适用场景‌明确字段名时用fetch_assoc需混合索引用fetch_array面向对象代码用fetch_object高性能处理用fetch_row。