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

以下のコードを参照してください。

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

これがお役に立てば幸いです:)

于 2012-07-05T10:10:24.170 に答える
0

このようなものが機能するはずです:

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

array_popは配列の最後の要素を返します。その後は、2つの値を比較するだけです。

于 2012-07-05T10:12:43.000 に答える