> 백엔드 개발 > PHP 튜토리얼 > 判断是否为空之后的操作

判断是否为空之后的操作

WBOY
풀어 주다: 2016-06-23 13:50:09
원래의
836명이 탐색했습니다.

判断$a、$b、$c、$d是否为空,如果不为空,在每个相邻变量间加逗号,如果只有一个不为空,则不加逗号,空变量不输出。
用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;}
로그인 후 복사

修改了一下,刚才那个没有考虑变量中含有","的情况。

$a = 'a';$b = 'b';$c = 'c';$d = 'd';$arr = array($a,$b,$c,$d);$ret = array();foreach($arr as $val){    if($val!=''){        array_push($ret, $val);    }}echo implode(',', $ret);
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿