PHP 函数按可空性如何分类?

php 函数按可空性可分为三类:1. 允许空参数:接受 null 参数;2. 强制非空参数:拒绝 null 参数;3. 按引用传递的空变量:允许函数将空变量设置为非空。

PHP 函数按可空性如何分类?

PHP 函数按可空性分类

可空性是一个类型提示特性,用于指定一个函数的参数是否可以为 null 值。PHP 函数按可空性可分为以下类别:

1. 允许 null 值的参数

立即学习“PHP免费学习笔记(深入)”;

这些函数允许将 null 值作为其至少一个参数。参数类型提示中的 ? 符号表示可空参数。

function greet(?string $name) {  if ($name === null) {    echo "Hello, stranger!";  } else {    echo "Hello, $name!";  }}greet("John"); // 输出:"Hello, John!"greet(null); // 输出:"Hello, stranger!"

2. 强制非 null 值的参数

这些函数的类型提示中没有 ? 符号,并且强制其参数为非 null 值。如果将 null 值传递给这些函数,将会产生类型错误。

function add(int $a, int $b) {  return $a + $b;}add(1, 2); // 输出:3add(null, 1); // 产生类型错误

3. 按引用传递的 null 值变量

如果将按引用传递的变量作为参数传递给函数,并且该变量最初为 null,则函数可以将其设置为非 null 值。

function set_username(?string &$username) {  $username = "John";}$username = null;set_username($username);echo $username; // 输出:"John"

实战案例

要求:创建一个函数来处理来自数据库的查询结果。查询结果可能包含 null 值,比如用户尚未提供其地址。

解决方案:

function format_user_data(?array $data): array {  // ... 进行数据处理  // 设置缺失数据的默认值  $data['address'] = $data['address'] ?? 'N/A';  // 返回处理后的数据  return $data;}$result = $conn->query("SELECT * FROM users");foreach ($result as $row) {  $formatted_data = format_user_data($row);  // ... 使用处理后的数据}

这个函数允许将 null 值作为参数,并使用默认值替换缺失的数据,从而简化了处理数据库结果的过程。

以上就是PHP 函数按可空性如何分类?的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1244662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月9日 17:02:42
下一篇 2025年12月9日 10:30:18

相关推荐

  • PHP 函数按使用频度如何分类?

    php 函数按使用频率分类为:高频:echo(), print_r(), var_dump(), array(), count()中频:in_array(), substr(), str_replace(), explode(), implode()低频:imagecreate(), imageco…

    2025年12月9日
    000
  • PHP 函数如何获取 HTTP 标头?

    如何在 php 中获取 http 标头?使用 getallheaders() 函数获取所有 http 标头。函数返回一个包含所有标头键值对的关联数组。可以遍历标头数组来访问每个标头名和值。可用于验证请求是否包含特定标头。 使用 PHP 获取 HTTP 标头 在 PHP 中,可以使用 getallhe…

    2025年12月9日
    000
  • PHP 函数如何获取数组数据?

    php 中获取数组数据的方法包括:获取整组数据:count()、sizeof()、array_keys()、array_values()获取单个元素:array_shift()、array_pop()、array_unshift()、array_push()、array_splice()获取子数组:…

    2025年12月9日
    000
  • 探索 PHP 函数分类的奥秘

    php 函数分为几个类别,包括基本函数、数组函数、日期/时间函数、错误处理函数和扩展特定函数。这些类别分别提供通用功能、数组操作、日期/时间操作、错误管理和扩展支持。例如,基本函数包括输入/输出和数字操作,数组函数支持数组创建和操作,日期/时间函数用于处理日期和时间。通过利用这些类别,我们可以有效地…

    2025年12月9日
    000
  • PHP 函数分类的演变与发展

    php 函数分类随着语言演进而变化,从 php 4.0 的核心和扩展函数,到 php 5.0 的面向对象函数(对象方法、命名空间函数),再到 php 7.0 的匿名函数、生成器函数和反射函数。php 8.0 增加了联合类型和传入参数协变等特性,提升了函数的灵活性。 PHP 函数分类的演变与发展 PH…

    2025年12月9日
    000
  • 分类 PHP 函数的艺术与科学

    函数艺术与科学:函数是 php 的模块化、可重用代码块,可提高代码质量和可维护性。函数语法包括函数名、可选参数和代码块。php 7.2 的类型提示可指定参数和返回类型的预期数据类型,提高代码可读性和错误检测。实践案例展示了字符串、数组和数学操作中的函数使用。掌握函数艺术和科学可创建可维护、可读、可重…

    2025年12月9日
    000
  • PHP 函数按作用域如何分类?

    php 函数按作用域分类,决定了变量在函数内的可见范围:1. 局部变量仅在函数内可见,使用 $ 声明;2. 全局变量在函数内外部都可见,使用 global 声明;3. 静态变量在函数调用之间保持值,使用 static 声明。 PHP 函数按作用域分类 函数作用域决定了变量在函数中可以被访问的范围。P…

    2025年12月9日
    000
  • PHP 函数如何获取服务器变量?

    php提供以下函数来获取服务器变量:$_server[‘document_root’]:脚本所在文档根目录的路径$_server[‘remote_addr’]:客户端 ip 地址$_server[‘http_user_agent&#8217…

    2025年12月9日
    000
  • PHP 函数分类的最佳实践

    php 函数分类最佳实践:按功能分组:将具有相同功能的函数分组,以提高代码的有序性和可导航性。按职责划分:明确分开不同职责的函数,防止功能混杂并提高可测试性和可重用性。按抽象级别分组:将抽象级别的函数与具体实现的函数分开,以隔离实现细节并增强可扩展性。 PHP 函数分类的最佳实践 在 PHP 中,函…

    2025年12月9日
    000
  • PHP 函数命名中的匈牙利表示法

    匈牙利表示法是一种过时的 php 命名惯例,它使用函数名前缀表示变量类型、作用域或其他属性。其优点包括名称自描述性和可读性,而缺点包括冗余、维护难度和不符合现代编码标准。 PHP 函数命名中的匈牙利表示法 匈牙利表示法是一种命名惯例,它通过函数名的前缀来传递变量类型、作用范围或其他属性的信息。这在早…

    2025年12月9日
    000
  • 揭开 PHP 函数参数传递的秘密

    php 函数参数传递分为两种方式:值传递:传递参数值的副本,修改副本不影响原始值。引用传递:传递对原始变量的引用,对副本的修改会影响原始值,可通过 & 符号实现。数组传递时,值传递不会影响原始数组,而引用传递会影响。某些预定义变量(如 $_get)默认以引用传递。 揭开 PHP 函数参数传递…

    2025年12月9日
    000
  • PHP 函数的类型有哪些

    php 函数分类:1) 内置函数:php 内核预定义;2) 用户自定义函数:用户创建,实现特定功能;3) 匿名函数:临时任务,使用 function 和箭头语法;4) 魔法函数:以双下划线开头,处理特定事件。 PHP 函数的类型 在 PHP 中,函数根据其用途和行为进行了分类,主要有以下几种类型: …

    2025年12月9日
    000
  • 破解 PHP 函数中隐藏的技巧

    掌握 php 函数中隐藏的技巧可提高开发效率:array_filter() 用于过滤数据流,保留满足条件的元素。in_array() 用于查找数组中是否存在特定元素。array_map() 将函数应用于数组元素。ksort() 根据键对数组排序。array_column() 从多维数组中提取特定列。…

    2025年12月9日
    000
  • PHP 中避免混淆的命名技巧

    在 php 中,清晰的命名有助于避免代码混淆。使用有意义的变量和函数名,采用小写字母加下划线的驼峰式命名法,避免缩写,使用类型注释,并保持一致性。遵循这些技巧可提高代码的可读性和可维护性。 PHP 中避免混淆的命名技巧 在 PHP 中,清晰明了地命名变量、函数和类对于保持代码的可读性和可维护性至关重…

    2025年12月9日
    000
  • PHP 函数命名规则

    php 函数命名规则建议遵循以下惯例:字母小写,单词以下划线分隔。名称以动词开头,表示函数的作用。简洁明了,准确描述函数功能。可选地使用 hungarian notation 前缀表示数据类型或用途。例如,计算数字总和的函数可以命名为 get_sum()。 PHP 函数命名规则 在 PHP 中,定义…

    2025年12月9日
    000
  • PHP 函数的安全性考虑

    php 函数的安全考量:常见的安全风险:sql 注入、xss、文件包含、cookie 伪造、任意文件上传。最佳实践:对输入进行数据验证、使用预处理语句、转义输出、限制文件包含、保护会话 cookie、限制文件上传。 PHP 函数的安全性考虑 引言 在 PHP 开发中,使用函数对于处理数据、实现逻辑和…

    2025年12月9日
    000
  • PHP 内置函数大全

    php 内置函数提供了强大的功能,涵盖字符串、数组、数学、文件系统以及日期和时间操作。这些函数包括:字符串函数:strlen()、strtoupper()、str_replace()、preg_match()数组函数:count()、array_merge()、array_keys()、array_…

    2025年12月9日
    000
  • PHP 命名约定指南

    php 命名约定指南:遵循以下规则提高代码可读性:类名:pascal 拼写法,以大写字母开头(exampleclass)接口名:pascal 拼写法,以大写字母开头,以 interface 结尾(exampleinterface)方法名:camel 拼写法,以小写字母开头(examplemethod…

    2025年12月9日
    000
  • PHP 变量和函数命名的区别

    php 中变量和函数命名方式不同:变量以 $ 符号开头,使用驼峰或下划线命名法,描述性强;函数不以 $ 符号开头,仅用驼峰命名法,表示其功能。 PHP 变量和函数命名的区别 在 PHP 中,变量和函数的命名规则截然不同。理解这些差异对于编写整洁、可读性高的代码至关重要。 变量命名 立即学习“PHP免…

    2025年12月9日
    000
  • 一探究竟:PHP 函数的内存分配方式

    在 php 中,函数变量分配到堆内存(动态分配对象/数组)或栈内存(函数参数/局部变量),取决于变量类型和作用域:引用/指针参数直接存储在栈内存中,可修改参数。值参数以副本存储在栈内存中,副本修改不影响原始变量。局部变量存储在栈内存中,函数退出时释放。全局变量以引用方式存储在堆内存中,在函数任何地方…

    2025年12月9日
    000

发表回复

登录后才能评论
关注微信