【问题标题】:Unable to unset an array in Codeigniter controller无法在 Codeigniter 控制器中取消设置数组
【发布时间】:2019-01-15 16:43:39
【问题描述】:

我试图取消设置数组 $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 所在的地方。谁能告诉我哪里出错了。谢谢。

【问题讨论】:

  • 首先确定您的条件正在解析为真。否则未设置的代码将不会运行。
  • 是的,条件为真,工作正常。
  • $da 的值是多少?
  • array_column($old_que_ans_session,$da) 这个值是空数组你能告诉我$da值吗
  • 它是URI的第二段,它的值是home

标签: php arrays codeigniter unset


【解决方案1】:

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

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

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

您可以简单检查:

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

【讨论】:

  • 我试过了,它没有 array_column($old_que_ans_session,$da)!==false 但它仍然没有取消设置。
【解决方案2】:

这里有语法错误

条件应该是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-06
    • 2016-02-13
    • 2021-01-15
    • 2018-01-05
    • 1970-01-01
    • 2015-03-21
    • 2021-08-15
    • 1970-01-01
    相关资源
    最近更新 更多