- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试搜索一个数组并查看其中是否包含一个值。如果值在数组中,则数组中值的索引将被传递到数组中并从数组中删除。
问题是如果没有找到值,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/
我做密码翻译。我在翻译以点结尾的加密字符时遇到问题。我有以下字典: $dict = array( "I"=>"1", "L"=>"1.", "O"=>"0",
嘿,伙计们,女孩们,我被难住了。尝试让 array_search 使用此脚本。 **cannot find file to create array**"); //searc
Array ( [0] => 159042564114859_722842697734840 [1] => 180466813056_10152147419628057 [2]
我有一个数组 第一个: [0] => 0289 [1] => 0146 [2] => 5519 [3] => 5308 [4] => 5503 [5] => 5357 第二个(关联):
我有一个数组的 第一个: [0] => 0289 [1] => 0146 [2] => 5519 [3] => 5308 [4] => 5503 [5] => 5357 第二个(联想):
这里我有两张 table ,即房间和学生宿舍。房间看起来像这样 id rm_number capacity bed_no class hostel
我有一组要应用搜索功能的项目。我正在考虑对数组进行排序并暂时简单地应用二进制搜索,因为它不需要太复杂,但是如果我遇到问题,我会尝试其他方法。 我的问题是; array_search() 中使用的搜索算
这个问题在这里已经有了答案: PHP in_array() / array_search() odd behaviour (2 个答案) 关闭 6 年前。 我最近注意到在我的代码中使用 array_
我正在做一个日历,每天可能有超过 1 个事件与日期匹配。目前我很困惑如何发现比 array_search 的第一个匹配项更多的内容。这是我现在正在做的事情。 if (array_search($dat
这个问题在这里已经有了答案: PHP in_array() / array_search() odd behaviour (2 个答案) 关闭 6 年前。 我有这个数组: $ar = [ 'key1
PHP 的 array_search() 执行此操作: Searches the array for a given value and returns the corresponding key i
这里有两个表,即 tools 和 tool_use。 工具表看起来像这样 id name tools_names
我有一个简单的函数,它查看传入的 mySQL 数据类型,然后将其汇总到一个“类别”(在此代码中称为一个系列),以便我可以在类别级别应用默认值。不管怎样,这段代码在查找整数、字符和文本类别时工作正常,但
今天,我发现 php array_search 函数有一个很奇怪的问题。实际上我应用的条件是,如果索引是 0 或大于,它应该通过 IF 条件,否则不会,但它不会像那样工作。 我分析发现,如果输出是FA
在一维数组中使用 array_search 很简单 $array = array("apple", "banana", "cherry"); $searchValue = "cherry"; $key
$array_subjected_to_search =array( array( 'name' => 'flash', 'type' => 'hero'
我想从 $routes 数组中获取匹配的路由。如果有多个数组具有相同的“ur”值。我想得到所有这些。 普通的数组项看起来像; [ "controller" => "RegisterControl
我一直在为 array_search 苦苦挣扎,虽然我想我现在已经理解了,但我只想确保我完全理解我的代码执行方式背后的逻辑。 我正在尝试编写一个函数,如果元素不在数组中,则将其添加到数组中,如果是,则
以下代码将拆分一个句子并告诉我第一次出现单词 orange。你能告诉我是否可以使用 php 库函数找到第二次出现的单词 orange。我可以通过使用 for 循环 来做到这一点,只是想知道 array
我有这个代码 $restaurant = array('/restaurant_pos/', '/bar_nightclub_pos/') $current_page = $_SERVER['REQU
我是一名优秀的程序员,十分优秀!