当所有对象都属于同一类型时,我可以省略 PHP in_array() 中的 strict 参数吗?

2023-12-30

我使用 PHP 的in_array() https://www.php.net/manual/en/function.in-array.php功能。

以下 PHP 代码示例:

<?php

$basket = [ 'apple', 'pear', 'banana' ];

if (!in_array('raspberry', $basket)) {
    $basket[] = 'raspberry';    
}

var_dump($basket);

您是否建议指定strict = true范围?

我认为这是没有必要的,因为它确保数组中只有字符串(没有空值,也没有其他类型的东西)。
此外,该函数的第一个参数也确保是一个字符串。
因为我不确定并且想知道指定是否正确strict = true仅适用于数组中存在各种类型的对象并且参数可能属于不同类型的情况。

期待在这里听到更多来自社区的声音。


您是否建议指定 strict = true 参数? [in_array() 的]

对于您在问题中概述的情况,不,但只是因为我什至不建议使用in_array()根本就在那里(并且if等),但只是:

$basket = ['apple', 'pear', 'banana', 'raspberry'];

但并非没有确认你的写作“严格来说,是的”:

仅当数组中存在各种类型的对象并且参数可能属于不同类型时,指定 strict = true 是否正确[?]

是的,这是正确的,特别是当所有值都具有相同类型并且弱 (==)和严格(===)该类型的比较(提示:这可能因类型而异,例如对象、数组,在字符串类型的示例中也是如此)。

if (!in_array('raspberry', $basket)) {
    $basket[] = 'raspberry';    
}

因此,经验法则是将其指定为true像往常一样,当你want or mean严格比较。这是为了让您的代码能够更好地进行通信。反之亦然false.

在您的示例中,您不需要验证第一个参数的类型来确定严格比较是否有效,例如,如果您使用 $strict = true。你只要看到它,因为它写在第三个参数中。

if (!in_array('raspberry', $basket, true)) {
    $basket[] = 'raspberry';    
}
if (!in_array('raspberry', $basket, false)) {
    $basket[] = 'raspberry';    
}

当不指定它并稍后重新访问代码时,就不再清楚原作者的意图了。因此,当您指定第三个参数时,无论 true 或 false,都使代码更易于维护。

https://php.net/in_array https://php.net/in_array

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当所有对象都属于同一类型时,我可以省略 PHP in_array() 中的 strict 参数吗? 的相关文章

  • Instagram 如何使用 Amazon S3?

    在将文件上传到 Amazon S3 时 我需要深入了解 Instagram 的工程 我刚刚开始使用 S3 我认为 Instagram 是一个值得效仿的好模式 因为他们每天上传数千张图片 我的应用程序有点相似 用户上传图片 可以删除自己的图片
  • 如何在Web服务中传递URL

    我想将此 URL 作为网址中的值传递http localhost h2orn php verify php email emails hash hash但是 我只能在 符号之前传递 我想传递所有 URL 我正在使用java网络服务 代码在这
  • VB6中如何将十六进制字符串转换为字节数组

    我有以下字节数组 Dim Template 1023 As Byte 然后我调用指纹扫描仪设备函数并返回以下内容 Template 0 70 Template 1 77 Template 2 82 Template 1023 0 然后我将字
  • xdebug_start_trace 行为异常

    我正在尝试进一步减少脚本内存使用量 我试图让我的脚本使用 xdebug 生成输出来分析内存使用情况 这是一个基于 CLI 的脚本 有 shebang usr local bin php q 我向它传递一个参数并检查它 argc gt 1 i
  • 如何在 PHP 中正确分割路径

    执行以下操作的最佳方法是什么 我通过 AJAX 请求获取路径 e g dir1 dir2 dir3 dir4 我需要在我的网页上这样展示它 dir1 gt gt dir2 gt gt dir3 gt gt dir4 它们每个都是 html
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

    我的 Apache2 本地主机 linux 上有一个工作路径 http localhost lab silex web index php hello name 我想成为 http localhost lab silex hello nam
  • 如何从字符串中只获取数字? [复制]

    这个问题在这里已经有答案了 我有这样的字符串 第 001 课 完成 在这种情况下 我只想获取数字部分001 我试过这个 str the title preg match all d str matches number implode ma
  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • WAMP 不显示目录列表中的图标

    过去 我通过 vmware 处理 PHP 代码 但最近我决定转而通过 WAMP 在 Windows 8 1 上 在本地进行处理 我创建了一个空文件夹tests in the www folder 然后在我的浏览器上输入http localh
  • 需要 mysqli_fetch_all 的替代方案

    我有一个 php mysqli 代码 可以找到一个我的本地服务器 但是在我的服务器上使用它时 我得到了一个 Fatal error Call to undefined function mysqli fetch all in home3 t
  • 包含字符串和数字的数组

    在 Objective C 中 很容易创建一个异构数组 如下所示 NSArray myArray String1 String2 123 456 有什么方法可以快速创建这样的数组吗 如果是的话怎么办 Note 我在 swift 中尝试了类似
  • URL 重写帮助

    RewriteEngine on RewriteCond REQUEST URI index php RewriteRule index php q 1 L 这应该将任何 url 重写为 index php q url 并且它可以工作 反正
  • cURL '格式错误的网址'

    This url 在浏览器中工作得很好 但 cURL 返回错误 3 格式错误的 url 关于解决方法有什么想法吗 EDIT 卷曲代码 function get web page url options array CURLOPT RETUR
  • 将秒转换为天、小时、分钟和秒

    我想转换一个变量 uptime这是秒 分为天 小时 分钟和秒 Example uptime 1640467 结果应该是 18 days 23 hours 41 minutes 这可以通过以下方式实现DateTime http php net
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f
  • 需要使用 php 从远程服务器下载与 $_FILES 相同的内容[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 好的 我有处理图像上传的 php 代
  • php向多个收件人发送邮件

    我可以通过在邮件程序中定义 id 来将电子邮件发送到一个电子邮件 id 但是当用户在表单中键入 消息和电子邮件 id 时 我无法理解如何发送到多个收件人 例如 我正在显示一个带有两个文本区域的表单 一个用于电子邮件 ID 一个用于自定义消息
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建

随机推荐

  • 为什么我的通用 StatefulWidget 类在运行时会出现 TypeError?

    我有一个通用的StatefulWidget类有一个Function打回来 当我尝试调用该回调时 我得到一个运行时TypeError EXCEPTION CAUGHT BY WIDGETS LIBRARY The following Type
  • Tomcat 中的共享 JNI 库 (.so) - UnsatisfiedLinkError

    我有一个在 Tomcat7 中部署的两个 Web 应用程序之间共享的 JNI 库 so 我在正在部署的第一个 Web 应用程序中仅使用 System loadLibrary 加载一次库 然后在第二个应用程序中检查它是否已加载以不再加载 我尝
  • 活动与片段生命周期[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发我正在使用的新应用程序Activity and Fragment 他们之间有什么主要区别吗 Update 我在 Androi
  • 我可以使用 asyncio 读取和写入 multiprocessing.Pipe 吗?

    我需要在 Python 中的进程之间进行通信并且正在使用asyncio在每个进程中进行并发网络IO 目前我正在使用multiprocessing Pipe to send and recv进程之间存在大量数据 但是我在外部这样做asynci
  • CRC32 校验和是如何计算的?

    也许我只是没有看到它 但 CRC32 似乎要么不必要地复杂 要么在我可以在网络上找到的任何地方都没有得到充分的解释 我知道它是消息值的基于非进位的算术除法除以 生成器 多项式的余数 但它的实际实现让我无法理解 我读了CRC 错误检测算法的轻
  • 所有不同 Intl.NumberFormats 的完整列表

    我正在寻找所有不同 Intl NumberFormats 的完整列表 The 国际数字格式 https developer mozilla org en US docs Web JavaScript Reference Global Obj
  • 如何在静态方法中调用类的成员变量?

    我正在使用某种方法来自动加载带有函数的帮助程序文件 我现在遇到的唯一问题是如何调用该类中的变量 因为我没有将其实例化为对象 this行不通的 但会怎样呢 class some helperclass var some variable 00
  • 如何处理 Laravel 5 中的异常和错误消息?

    当我收到此错误时 Connection php 第 620 行中的 QueryException SQLSTATE 23000 完整性 违反约束 1062 重复条目 我可以用我自己的闪存错误消息来处理它 而不是 哎呀 看起来像出事了 您有两
  • 在ansible中创建一个带有循环的docker-compose

    我需要基于 yml 文件构建一个 docker compose 在下一个 yml 中 它将是每个服务的名称 图像和版本 services service front image acalls caselog web app version
  • 如何在Android应用程序中创建游标数据而不从数据库获取数据?

    在我的 Android 应用程序中 我使用 Sqlite DataBase 来存储来自服务器的数据 我使用 ContentProvider 和 ContentResolver 访问 DataBase 中的数据 并使用 CursorAdapt
  • 空手道 - 如何处理 unicode 字符?

    我想发送一个 Unicode 字符串作为请求参数 如下所示 mobile 但空手道会这样发送 移动的 我尝试从包含我的文本的文件中读取 Unicode 文本 然后阅读并以这种方式发送 def persianMobile1 read clas
  • JPEG 的无损裁剪(剪切和粘贴)

    我正在寻找无损 jpeg 操作的示例 博客文章 等 裁剪 n drop 剪切和粘贴 我知道有一个程序jpegtran http jpegclub org jpegtran 它可以执行无损裁剪 在某些情况下 但似乎缺乏良好的文档 是的 我已经
  • javascript new Date(0) 类显示 16 小时?

    interval new Date 0 return interval getHours 上面返回 16 我希望它返回 0 有任何指针吗 getMinutes 和 getSeconds 按预期返回零 谢谢 我正在尝试制作一个计时器 func
  • iPhone 中 POST 方法的多个参数

    我正在尝试使用 POST 将多个参数发送到特定的 url 但它没有正确发送参数 NSDate now NSDate date NSDateFormatter formatter NSDateFormatter alloc init form
  • 使用objective-c/核心图形的水平居中文本

    我正在尝试使用 Core Graphics 在 iPhone 屏幕上居中显示文本 我发现这段代码 https stackoverflow com questions 48034940 draw centered text using cor
  • iOS AVFoundation 视频捕获方向选项

    我有一个应用程序 我只想为前置摄像头进行视频捕获 那没问题 但我希望视频捕捉始终是横向的 即使手机处于纵向状态也是如此 我有一个基于 Apple 发布的 AVCamDemo 代码的工作实现 并借用了中的信息本技术说明 http develo
  • ViewPager 用 2 根手指滑动

    我想用两根手指实现 ViewPager 滑动 我尝试实现 ViewPager 的子类 重写 onTouchEvent 并仅当触摸是由 2 个手指进行时才将该方法传递给超类 但有一个问题 滑动动画也适用于 1 根手指 我想我必须重写其他方法
  • 使用 g++ 编译 FLTK

    我正在使用 C 学习 Stroustrup 的原则和实践 我正在尝试编译以下程序 include
  • 在 Haskell 中创建独特的标签

    我正在用 Haskell 编写一个简单的命令式语言的编译器 输出 Java 字节码 我已经到了发出字节码的抽象表示的地步 在编写编译 if 语句的代码时 我遇到了一些麻烦 为了实现 if 语句 我需要跳转到的标签 因此 我需要为该标签生成一
  • 当所有对象都属于同一类型时,我可以省略 PHP in_array() 中的 strict 参数吗?

    我使用 PHP 的in array https www php net manual en function in array php功能 以下 PHP 代码示例