改进if count == x case

时间:2012-02-15 14:58:29

标签: php if-statement count

我只是想知道,我该如何改进这段代码?

  $count = count($data['tags']);
  if($count > 3)
  {
    $hashtags = implode(',', array_slice($data['tags'], 0,3));
  }
  elseif($count !== 0)
  {
    $hashtags = implode(',', array_slice($data['tags'], 0,$count));
  }
  else
  {
    $hashtags = 'data';
  }

顺便说一句,是不是有一个关于stackoverflow的部分要求可能的代码改进?在页脚链接中找不到它

修改

通过改进,我主要考虑速记,而不是为同一件事寻找不同的方法(只是为了学习新东西)感谢帮助人员!

4 个答案:

答案 0 :(得分:4)

难以回答的问题。

“改善”是什么意思?

如果代码完成了你需要它做的事情(我认为它确实如此),并且相对容易阅读和维护(我不熟悉几个PHP函数,但在查找它们之后,你的代码对我来说读得很好),那么你的代码不需要“改进”。

答案 1 :(得分:3)

没有测试,因为我不用PHP编码,但是这个怎么样?

$count = count($data['tags']);
$hashtags = $count == 0 ? 'data' :
   implode(',', array_slice($data['tags'], 0,min(3,$count)));

答案 2 :(得分:2)

你可以像这样写这个:

$count = count($data['tags']);
$hashtags = $count !== 0 ? implode(',', array_slice($data['tags'], 0, min($count, 3))) : 'data';

代码行数较少,但不太可读。

答案 3 :(得分:1)

我试着把它全部排成一行,但这可能不是一个改进。你的代码对我来说很好。

$hashtags = $count === 0 ? 'data' : implode(',', array_slice($data['tags'], 0, ($count > 3) ? 3 : $count));