我不确定在问这个问题时我是否有任何意义,但我有一个模型:
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] ..)这样的键值,以便在我的查询中它会自动检测选择了哪个图像。
请帮忙。
答案 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);
联机帮助页的说明:
在数组中搜索给定值,并在成功时返回相应的键