空かどうかを判断して動作

WBOY
WBOYオリジナル
2016-06-23 13:50:09839ブラウズ

$a、$b、$c、$d が空かどうかを判断します。空でない場合は、隣接する各変数の間にカンマを追加します。1 つだけが空でない場合は、カンマは追加されず、空の変数は追加されません。出力。
ifの使い方が複雑すぎるのですが、簡単に書く方法はありますか?例を挙げてください、ありがとう!


ディスカッションに返信(解決策)

簡単な方法がわかりません
if を使用するのは何が問題ですか?

$buf = array($a, $b, $c, $d);echo join(',', array_filter($buf, 'cmp'));function cmp($m) {  return ! empty($m);}

$s = "$a,$b,$c,$d";$ar = preg_split('/,/', $s, -1, PREG_SPLIT_NO_EMPTY);echo implode(',', $ar);

$a = 'a';$b = '';$c = '';$d = 'd';echo handle($a,$b,$c,$d);function handle($a,$b,$c,$d){    $arr = array();    array_push($arr, $a,$b,$c,$d);    $ret = trim(implode(',', $arr),',');    $ret = preg_replace('/[,]{2,}/', ',', $ret);    return $ret;}

先ほどのものは、変数に「,」が含まれる状況を考慮していませんでした。
リーリー

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