dongshai2022 2014-05-27 12:27 采纳率: 100%
浏览 85
已采纳

如何在数组中循环并使用if语句中的每个值

I have the function:

public function onK2AfterDisplayContent(&$item,&$params,$limitstart)
{   
    $cat_id = $this->params['cat_ids'];
    explode(',', $cat_id);

    $view = JRequest::getVar('view');

    if($view === 'item' && $item->catid === $cat_id){
        $db = JFactory::getDbo();
        $query = 'SELECT name FROM #__k2_categories WHERE id='.$item->catid;
        $db->setQuery($query);
        $resultado = $db->loadResult();

        echo '<input class="subscribete" type="button" id="'.$resultado.'-'.$item->id.'" value="Subscribete" data-id="'.$item->id.'"/>';    
    }
}

The variable $cat_id can bring a different amount of values (1 or 1,2,3, nothing, etc..). My if statement should only enter when one of these values exist in $item->catid. How can I accomplish this?

EDIT: $item->catid can only be a single value like "1".

  • 写回答

2条回答 默认 最新

  • dpfqy5976 2014-05-27 12:31
    关注

    You can use in_array :

    $cat_id = explode(',', $this->params['cat_ids']);
    // Don't forget to assign the explode to a value. Otherwise, it won't be usefull...
    
    if (in_array($item->catid, $cat_id)) {
        // Do something
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?