检查所选值是否为数组中的最后一个

时间:2012-07-05 10:07:36

标签: php

我的功能如下:

function ypg_delete_img($id, $img)
        {
            $q = $this->ypg_get_one($id);

            $imgs = explode(',', $q->image);

            if(count($imgs) > 1) :
                $z = ",";
            else :
                $z = "";
                $data['image'] = 'avatar_mali_oglas.png';
                $this->db->where('id_yellow_pages', $id);
                $this->db->update('yellow_pages', $data);
            endif;
            if($imgs[0] != 'avatar_mali_oglas.png') :
                $query  = "UPDATE `yellow_pages` ";
                $query .= "SET `image` = REPLACE(`image`,'". $img . $z ."', '')
                           WHERE `id_yellow_pages` = $id "; 
                $this->global_functions->delete_img('zute_strane', $img);
            $this->db->query($query);
            endif; 
        }

我需要检查 $ img $ imgs 数组中的最后一个值。我怎么能这样做?

4 个答案:

答案 0 :(得分:6)

使用end()

if ($img == end($imgs)) {
   // $img is the last element of the array
}

答案 1 :(得分:1)

检查结束():http://php.net/manual/fr/function.end.php

赞:if($ img == end($ imgs))

答案 2 :(得分:0)

请参阅以下代码。

if($imgs[count($imgs) -1] == $img)
{
   // $img is the last image
}

希望这会有所帮助:)

答案 3 :(得分:0)

这样的事情应该有效:

<?php
  $lastitem = array_pop($imgs);
  if ($img == $lastitem) {
    // is last image
  }
?>

array_pop返回数组的最后一个元素,之后你只需要比较这两个值。