我使用的是PHPin_array()函数.

下面的PHP代码示例:

<?php

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

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

var_dump($basket);

您是否建议指定strict = true参数?

I think it is not necessary because it is ensured that there are only strings in the array (no null, nor something of other type).
Also the 1st argument of the function is ensured to be a string.
Because I am unsure and would like to know if it is correct to specify strict = true only for cases when there objects in the array of various types and the argument might be of a different type.

期待着从这里的社区听到更多的消息.

推荐答案

您是否建议指定Strong=True参数?[OF IN_ARRAY()]

对于你在问题中概述的情况,不是,但只是因为我根本不建议在那里使用in_array()(以及if等),而只是:

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

但在确认你的写作之前,你必须打出"strictly speaking, yes"分:

[是否正确]仅在各种类型的数组中有[有]个对象并且参数可能是不同类型的情况下才指定STRICT=TRUE[?]

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

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

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

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

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

当不指定它并在以后重新访问代码时,不再清楚原始作者的意图.因此,当您指定第三个参数时,无论是True还是False,它都使代码更易于维护.

https://php.net/in_array

Php相关问答推荐

为什么这个方法调用用引号和花括号包裹?

从WooCommerce邮箱通知中的订单详细信息中删除产品列表

Msgraph-sdk-php v2如何从返回对象中获取数据?

如何使用php-amqplib连接到ActiveMQ Classic Docker镜像

将产品类别添加到WooCommerce产品附加信息

如何将对我的域的请求重定向到子文件夹中的索引,同时保留域URL并使用.htaccess?

Laravel;Composer安装突然返回选项快捷方式不能为空.

在PHP 8.2 Gloogle云引擎上加载大型php文件速度缓慢

fpm-php + nginx + POST数据

在 WooCommerce 订阅续订订单中设置送货方式

有没有办法像引用枚举一样引用注册表中的对象?

PHP访问子数组列表出错结果和长度

AWS S3:当对象名称包含 % 时复制对象失败并出现错误 - 无效的复制源编码

根据支付网关选项更改 WooCommerce Checkout 上的立即付款按钮文本

使用自定义规则进行 Livewire 验证不会显示错误

避免在 WooCommerce 中多次触发挂钩函数

WooCommerce - 调用功能ID不正确.不应直接访问订单属性

正则表达式请帮我从内容中找到这个词

即使密码匹配,密码处理程序也会返回错误

在全局安装 Composer 包后运行命令