gpt4 book ai didi

php - array_search 和 destroy 逻辑错误

转载 作者:搜寻专家 更新时间:2023-10-31 20:41:07 25 4
gpt4 key购买 nike

我正在尝试搜索一个数组并查看其中是否包含一个值。如果值在数组中,则数组中值的索引将被传递到数组中并从数组中删除。

问题是如果没有找到值,array_search 会返回 FALSE,但由于 false 是一个 bool 值,它也被视为 0。当它被传递给 unset 以从数组中删除值时,索引 0 处的值将是如果 array_search 返回 false,则移除。

我相当确定它需要放入 if 语句中,但如果可以同时返回整数和 bool 值,我将如何处理响应?

当前代码:

$pos = array_search($value, $array);
unset($array[$pos]);

最佳答案

PHP Doc说..

This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

所以你需要这样做

<?php
$arr = [1,2,3];
$pos = array_search(4, $arr);
if($pos!==false)
{
unset($arr[$pos]);
}
print_r($arr);

输出

Array
(
[0] => 1
[1] => 2
[2] => 3
)

如您所见,保留了第一个索引。

关于php - array_search 和 destroy 逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21360431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com