레오가

if문으로 비교할게 여러개일때 (feat array_filter)

· 2024-10-11 (금) 18:18:06 · 2067 · 1

안녕하세요 그냥.. 팁입니다. 

일하다가 문득 귀차니즘으로 생각난.. 소소하지만 또 은근 자주 활용 할수 있는 그런 팁입니다.

 

문제 : $a, $b, $c, $d, $e, $f, $g 의 변수값이 있을때   $z 변수값을 'Y'로 만들고 싶다!

 

(활용예시 :

invoice 파일등록,

bl 서류 보내고,

고객사에 bl 보낸거 확인되고,

기타 서류 등록되어 있고,

예상 출고일은 등록되었나,

예상 도착일은 등록되었나.

 

위 조건이 만족할경우 "완료" 버튼을 보이게 하라 

 

라는 미션이 있다고 하면

 

if ($a && $b && $c && $d && $e && $f && $g) {

  echo '완료 버튼 생성';

}

 

뭐 이러면 됩니다 사실 ㅋㅋ

이게 더 직관적이긴 합니다. 

가장 좋은 소스는? 어렵지않고 쉬우면서 동작잘되고 오류없는 소스!

 

근데 귀찮을때가 있더라구요.  그리고 변수명이 너무 길면 가독성도 좀 별로인거 같고..

그래서 array_filter쓰면 좀 심플한 느낌이 들더군요.

 

(array_reduce 활용도 같이하려다가 초보분들은 어려워하실수도 있어서 뺐습니다)

<?php

$a = '값1'; // 빈 값이 아님

$b = '값2'; // 빈 값이 아님

$c = '값3'; // 빈 값이 아님

$e = '값4'; // 빈 값이 아님

$f = '값5'; // 빈 값이 아님

$g = '값6'; // 빈 값이 아님

$arr = array($a, $b, $c, $d, $e, $f, $g); // 배열로 변수들을 묶기

$filtered = array_filter($arr);

// 모든 변수가 빈 값이 아닐 경우

if (count($filtered) === count($arr)) {

    $button = 'Y'; // 버튼을 Y로 변경

}

 

 

array_filter에 2번째 인수는 콜백함수 인데 없어도 되긴하지만 warrning 발생되는거 같아요

이번팁은 값이 있는지 없는지만 체크하려고 했기때문에 저렇게 했지만

콜백함수 만들면 좀더 디테일하게 체크할수 있을겁니다!!

 

 

|

댓글 1개

오..간단명료~

댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
MySQL 24-12-14 조회 1,770
기타 24-12-14 조회 1,937
JavaScript 24-12-13 조회 1,987
JavaScript 24-12-13 조회 1,577
PHP 24-12-13 조회 2,041
PHP 24-11-26 조회 2,265
기타 24-11-14 조회 2,394
기타 24-10-30 조회 2,309
PHP 24-10-11 조회 2,068
JavaScript 24-10-10 조회 1,247
JavaScript 24-09-26 조회 1,784
24-09-25 조회 2,273
JavaScript 24-09-07 조회 2,031
24-09-11 조회 1,486
24-09-19 조회 2,428
24-09-10 조회 1,866
24-08-19 조회 1,591
24-10-03 조회 1,649
24-08-07 조회 1,219
24-07-23 조회 1,913
24-07-08 조회 1,503
24-06-27 조회 1,407
PHP 24-08-23 조회 1,599
PHP 24-07-31 조회 1,343
OS 24-07-22 조회 1,749
기타 24-07-22 조회 1,186
기타 24-07-12 조회 1,401
기타 24-07-02 조회 1,534
기타 24-07-02 조회 1,082
JavaScript 24-06-30 조회 1,203