Full Stack Web Developer.
Syaku (샤쿠)

Java, JS (ES6+), Spring, Spring security, jQuery, Reactjs, Bootstrap.

        

08-04 05:26


Spring Boot 2 보기 Front-end 보기 DevOps 보기 Spring 3 보기 Spring Security 3 보기

PHP 배열 조합 함수 : jQuery extend for PHP

written by Seok Kyun. Choi. 최석균

“ PHP 배열 조합 함수 ”

jQuery extend 메서드와 같은 기능을 가진 PHP 함수를 만들어 보았다.

어려운 함수는 아니지만 활용도가 아주 많고 jQuery 를 접해본 사람이라면 쉽게 이해할 수 있다.


배열만 가능하며, 첫번째 상수가 메인이고, 두번째 상수가 합처질 배열이다.

두개의 배열 값들이 서로 다른 경우 합쳐지고 같을 경우 두번째 상수의 배열 값으로 업데이트 된다.

두번째 상수의 배열의 빈값은 우선 삭제되고 마이그를 진행된다.


* PHP 4.0.6 이상 사용 가능


function _extend($array,$array2,$empty = true) {
  // 배열이 아닌 경우
  if ( !is_array($array2) ) return $array;
  if ( !is_array($array) ) return $array2;

  // 배열 빈값 제거
  if ($empty) $array2 = array_filter($array2, 'strlen'); // 0 값을 빈값으로 인식하는 문제 해결.

  // 배열 마이그
  return array_merge($array,$array2);
}

//=== 예제

$a = array('A' => 'a','AA'=>'aa','AAA'=>'aaa');
$b = array('A' => '2 update','BB'=>'bb');
$c = array('A' => NULL,'AAA'=>'AAA update','cc'=>'cc');

// 빈값 제거 하고 A 배열을 업데이트 함.
print_r(_extend($a,$b));
var_dump(_extend($a,$b));

// 빈 값을 제거하지 않고 마이그
print_r(_extend($a,$c,false));
var_dump(_extend($a,$c,false));
 


# 결과

print_r 과 var_dump 를 이용하여 결과를 출력였음.


Array ( [A] => 2 update [AA] => aa [AAA] => aaa [BB] => bb ) 

array(4) { ["A"]=> string(8) "2 update" ["AA"]=> string(2) "aa" ["AAA"]=> string(3) "aaa" ["BB"]=> string(2) "bb" }


Array ( [A] => [AA] => aa [AAA] => AAA update [cc] => cc ) 

array(4) { ["A"]=> NULL ["AA"]=> string(2) "aa" ["AAA"]=> string(10) "AAA update" ["cc"]=> string(2) "cc" }





posted syaku blog

Syaku Blog by Seok Kyun. Choi. 최석균.

http://syaku.tistory.com



댓글 남기기
◀ PREV 1···108109110111112113114115116···313 NEXT ▶