如果在Codeigniter中将字符串值作为变量给出,如何从数组中获取键值

时间:2016-01-16 03:27:40

标签: php codeigniter codeigniter-3

我不确定在问这个问题时我是否有任何意义,但我有一个模型:

function update_profile_image($id, $image, $data){
    $data1=array('profile_thumb'=> $data['images_urls'][$index]);
    $this->db->where('property_ref_id',$id);
    $this->db->update('vbc_property_images',$data1);
}

这里$ data是一个数组:

Array
(
[images_urls] => Array
    (
        [0] => property_image_11.png
        [1] => property_image_13.png
        [2] => property_image_14.png
    )

)

模型中的$ image是此数组中任何图像的名称,例如' property_image_13.png'

我正在尝试通过$ image获取像$ index([0],[1] ..)这样的键值,以便在我的查询中它会自动检测选择了哪个图像。

请帮忙。

2 个答案:

答案 0 :(得分:2)

您可以在数组上循环以获取图像的键

public void searchdata(String[] values)
    {
    //{
    //    JavaScriptSerializer js = new JavaScriptSerializer();
    //   List<String[][]> data=js.Deserialize<List<String[][]>>(i);
        Console.WriteLine(values);

    }

替代解决方案是使用foreach($data['images_urls'] as $key => $value) { if($value == $image) { $index = $key; break; } }

array_search()

答案 1 :(得分:0)

如果我正确理解了您的问题,您希望在$data中搜索$image中定义的值,并返回匹配元素的键。如果是这样,array_search就是您所需要的。

$key = array_search($image, $data);

联机帮助页的说明:

  

在数组中搜索给定值,并在成功时返回相应的键