Php 取消设置以从数组中删除值时遇到的问题
我试图使用unset从数组中删除值,但它不能正常工作 假设我有以下数组Php 取消设置以从数组中删除值时遇到的问题,php,mysql,arrays,Php,Mysql,Arrays,我试图使用unset从数组中删除值,但它不能正常工作 假设我有以下数组 $array = [0]=>a [1]=>b [2]=>c 这些项目显示在一个表中,可以删除一个项目。假设我按下“b”的值。设置了一个隐藏值($removeID,在本例中为),当我回显它时,会显示“b”,因此我知道该值被正确发送 无论如何,这是我的代码: $removeID = $_POST['removeID']; //value to be removed. when echoe'd, it a
$array =
[0]=>a
[1]=>b
[2]=>c
这些项目显示在一个表中,可以删除一个项目。假设我按下“b”的值。设置了一个隐藏值($removeID,在本例中为),当我回显它时,会显示“b”,因此我知道该值被正确发送
无论如何,这是我的代码:
$removeID = $_POST['removeID']; //value to be removed. when echoe'd, it appears
$key = array_search($removeID,$array); //finds the key of the value
unset($array[$key]);
我有没有做错什么?每次都会删除数组中最大的密钥
编辑-看起来好像找不到正确的键,并将其设置为布尔值而不是整数
我尝试了gettype($key),它显示为布尔值。当我回显$removeID时,它会显示我要从数组中移除的值,那么为什么在使用数组搜索时它找不到它呢?我可以不搜索变量吗?数组搜索后$key的值是多少?@StefanNeubert-hmm,看起来不像是设置的。我不确定我做错了什么,因为当我回显$removid时,它会显示出来。我尝试在array_搜索函数中使用“$removeID”,但没有成功。我不能将变量传递给它吗?数组包含字符串“a”还是对象a?可能由于数据类型不同,array_搜索找不到条目。我尝试对$array[0]和$removeID的值进行gettype,它们都是字符串……好的,只是选中了$key的gettype,它是一个布尔值。我可以把它转换成int吗?var_dump的输出是什么($array[1],$removeID,$array[1]==$removeID);在第一行之后?