一起来精简这个语句

WBOY
WBOYオリジナル
2016-06-06 20:47:371303ブラウズ

if($type==0)
$type_value="a";
if($type==1)
$type_value="b";
if($type==2)
$type_value="c";

看看可以精简到什么程度。主要是为了得到$type_value的值,可以增加第三或第四个变量
我的做法如下:

$arr=array('a','b','c');
$type_valu=$arr[$type];

回复内容:

if($type==0)
$type_value="a";
if($type==1)
$type_value="b";
if($type==2)
$type_value="c";

看看可以精简到什么程度。主要是为了得到$type_value的值,可以增加第三或第四个变量
我的做法如下:

$arr=array('a','b','c');
$type_valu=$arr[$type];

方法一:高逼格,$type_value=$type==0?'a':($type==1?'b':($type==2&&'c'))
方法二:用ascii码,$type_value=chr($type+97);
不用谢,请叫我红领巾

<code class="lang-cpp">'a' + type
</code>

类似的php写法请自行YY

另外,你的那种想法其实"abc"[$type]就行了。

<code class="lang-php">$types  = array('x', 'y', 'z', ...);
$values = array('a', 'b', 'c', ...);
$res = array_combine($types, $values);
$type_value = $res($type);
</code>

前提:

  • $types值不重复
  • $types值很多
  • $types, $values无规则
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。