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]) {
   ...
}

如果这是一个字符串,并且在大多数其他情况下,转换为布尔值就可以了。

boolean一个空字符串的强制转换等于false 如果键不存在,它将是一个空指针,它也被强制转换为布尔值false

所以你以 1 的价格获得 2 ...不会插入liif 键不存在和 if 存在并且它的值是一个空字符串 - 我认为这是你的想法。

于 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 回答