0

如何使用 if/else 更改数组中的值?

代码:

    public function getActions()
{
    return array(
    'dislike' => array(
        'enabled' => true,
        'action_type_id' => 2,
        'phrase' => Phpfox::getPhrase('like.dislike'),
        'phrase_in_past_tense' => 'disliked',
        'item_phrase' => 'comment',
        'item_type_id' => 'feed',
        'table' => 'feed_comment',
        'column_update' => 'total_dislike',
        'column_find' => 'feed_comment_id',
        'where_to_show' => array('', 'photo')           
        )
    );
}

如何使用 if/else 插入更改代码?

if (Phpfox::isMobile())
    {
        'phrase' => Phpfox::getPhrase('mobiletemplate.unlike_icon'),
    }
else
    {
        'phrase' => Phpfox::getPhrase('like.dislike'),
    }

谢谢你帮助我!

4

4 回答 4

2

您可以使用三元运算符解决这个逻辑问题:

'phrase' => Phpfox::isMobile() ? Phpfox::getPhrase('mobiletemplate.unlike_icon') : Phpfox::getPhrase('like.dislike'),
于 2014-08-19T14:46:52.443 回答
2

使用三元运算符进行内联检查:

public function getActions()
{
    return array(
    'dislike' => array(
        'enabled' => true,
        'action_type_id' => 2,
        'phrase' => Phpfox::getPhrase(
            Phpfox::isMobile()
            ? 'mobiletemplate.unlike_icon'
            : 'like.dislike'
        ),
        'phrase_in_past_tense' => 'disliked',
        'item_phrase' => 'comment',
        'item_type_id' => 'feed',
        'table' => 'feed_comment',
        'column_update' => 'total_dislike',
        'column_find' => 'feed_comment_id',
        'where_to_show' => array('', 'photo')           
        )
    );
}
于 2014-08-19T14:47:48.290 回答
0

更简单,但仅适用于这种情况:

'phrase' => Phpfox::getPhrase(Phpfox::isMobile()? 'mobiletemplate.unlike_icon' : 'like.dislike'),
于 2014-08-19T14:48:20.410 回答
-3

像这样的东西

'phrase' => call_user_func(function(){ 
   if(Phpfox::isMobile()){
      return Phpfox::getPhrase('mobiletemplate.unlike_icon');
   }else{
      return Phpfox::getPhrase('like.dislike');
   }
 }), ...
于 2014-08-19T14:48:19.560 回答