无法在 Codeigniter 控制器中取消设置数组

Unable to unset an array in Codeigniter controller

我试图取消设置的数组 $old_que_ans_session,即

Array
(
    [0] => Array
        (
            [home] => https://s3.ap-south-1.amazonaws.com/bmimagedump/uploads/interior/design/1531557190.jpg
        )

    [1] => Array
        (
            [home] => https://s3.ap-south-1.amazonaws.com/bmimagedump/uploads/interior/design/1533365337.jpg
        )

)

在控制器中我的功能是

$id_image[$da] = $this->input->post('id');
if(array_search($id_image, array_column($old_que_ans_session,$da)!==false))
                        {
                            $key1=array_search($id_image, array_column($old_que_ans_session,$da));
                            unset($old_que_ans_session[$key1]);
                        }

$da 的家在哪里。谁能告诉我哪里出错了。谢谢。

我们可以取消设置数组值。但是,正如我在您的代码中看到的那样,存在一些问题:

array_column($old_que_ans_session,$da)!==false

为什么我们需要那样检查条件。我认为我们不需要。因为如果 $old_que_ans_session 没有 $da 列,array_column 将 return 一个空数组。也许这是你的错误。

您可以简单检查一下:

if($key = array_search($id_image, array_column($old_que_ans_session,$da))){
   unset($old_que_ans_session[$key]);
}

你这里有语法错误

条件应该是:

if(array_search($id_image, array_column($old_que_ans_session,$da))!==false)