php 代码上的 in_array() 问题。我有以下数组:
Array (
[0] => 11
[1] => 13
[2] => 14
[3] => 15
[4] => 16
[5] => 17
[6] => 18
[7] => 19
[8] => 20
[9] => 21
[10] => 22
[11] => 23
[12] => 24
[13] => 25
[14] => 26
[15] => 27
[16] => 28
[17] => 29
)
下面的函数从数组中删除一个元素(因为 unset 不保留索引):
function removeFromArray($value, $array) {
// If value is in the array
if (in_array($value, $array)) {
// Get the key of the value
$key = array_search($value, $array);
// Remove the element
unset($array[$key]);
// Fix the key indexes
$array = array_values($array);
return $array;
}
return false;
}
不幸的是,当我执行 in_array($value, $array), if 条件时,我收到错误消息:“in_array() 期望参数 2 是数组,布尔值给定”。这发生在数组的任何元素上。
我在 $array 变量上使用 is_array() 进行了检查,它返回 true,因此该变量被识别为数组。有什么想法吗?
编辑:
我将数组定义如下:
$array = array(11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29);
并以这种方式调用该函数:(例如:如果我想删除数字 11)
$array= removeFromArray(11, $array);