2

このようなphpコードがあります。

<?php 
      $books = get_group('books');
      if($books){
      $booksfilter = "";
      foreach($books as $book){
        $booksfilter .= "<ul class=\"books\">";
        $booksfilter .= "<li><a href='".$book['books_image'][1]."' >image</a></li>";
        $booksfilter .= "<li>".$book['books_image_title'][1]."</li>";
        $booksfilter .= "<li>".$book['books_image_description'][1]."</li>";
        $booksfilter .= "</ul>";
         }
        echo $booksfilter; 
       } ?>

コードは正常に動作します。私の問題は、li 要素に css パディングを与える際に問題があることです。配列に値がない場合、空のスペースが作成されます。値が存在するかどうかを確認する方法を教えてください。

私はこのようなものが欲しいという意味です

if value exists ($book['books_image_description'][1])
{
    $booksfilter .= "<li>".$book['books_image_description'][1]."</li>";
}

誰でも私を助けることができますか?ありがとう

4

2 に答える 2

1
if ($book['books_image_description'][1]) {
   ...
}

これが文字列であり、他のほとんどの場合、ブール値にキャストすると機能します。

booleanempy文字列のキャストは、false キーが存在しない場合はnullポインターになり、ブール値にキャストされることも同じfalseです。

したがって、1の価格で2があります... liifキーが存在せず、存在し、その値が空の文字列である場合は挿入されません-これはあなたの考えだと思います。

于 2012-10-30T23:48:43.367 に答える
1

array_key_exists 関数を使用する

if(array_key_exists(1, $book['books_image_description']))
{
    ...
}
于 2012-10-30T23:51:09.257 に答える