$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;}
先ほどのものは、変数に「,」が含まれる状況を考慮していませんでした。
リーリー