检查一个数组值是否存在于php中

时间:2012-10-30 23:45:09

标签: php arrays foreach

我有这样的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>";
}

任何人都可以帮助我吗?感谢

2 个答案:

答案 0 :(得分:1)

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

如果这是一个字符串,并且在大多数其他情况下,转换为boolean将完成这项工作。

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

所以你有一个1的价格...如果密钥不存在并且如果存在且它的值是一个空字符串,则不会插入li - 我认为这是你的想法。

答案 1 :(得分:1)

使用array_key_exists函数

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