1

我有这样的功能:

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

4 回答 4

6

利用end()

if ($img == end($imgs)) {
   // $img is the last element of the array
}
于 2012-07-05T10:09:44.340 回答
1

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

喜欢: if($img == end($imgs))

于 2012-07-05T10:10:33.027 回答
0

Something like this should work:

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

array_pop returns the last element of an array, after that you just need to compare the two values.

于 2012-07-05T10:12:43.000 回答
0

请参考下面的代码。

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

希望这会有所帮助:)

于 2012-07-05T10:10:24.170 回答