"Lib arr.php"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(사용자 2명의 중간 판 22개는 보이지 않습니다)
1번째 줄: 1번째 줄:
;com_arr
{{소문자}}
==개요==
;lib_arr.php
*PHP
*PHP
*배열에 관한 커스텀 함수 모음
*배열에 관한 커스텀 함수 모음
*소스코드: https://raw.github.com/jmnote/php_lib/master/lib_arr.php


==clean_arr==
==array_push_array==
<source lang='php'>
*array_union
function clean_arr($arr, $removeEmpty = false) {
<syntaxhighlight lang='php'>
if($removeEmpty == 'REMOVE_EMPTY')$removeEmpty = true;
function array_push_array(array &$array) {
$cnt = count($arr);
    $numArgs = func_num_args();
for($i=$cnt-1;$i>-1;$i--) {
    if(2 > $numArgs) {
$arr[$i] = trim($arr[$i]);
      trigger_error(sprintf('%s: expects at least 2 parameters, %s given', __FUNCTION__, $numArgs), E_USER_WARNING);
if($removeEmpty && $arr[$i]=='')array_splice($arr, $i, 1);
      return false;
}
    }
return $arr;
    $values = func_get_args();
    array_shift($values);
    foreach($values as $v) {
      if(is_array($v)) {
        if(count($v) > 0) {
          foreach($v as $w) $array[] = $w;
        }
      } else $array[] = $v;
    }
    return count($array);
}
}
</source>
</syntaxhighlight>
 
==trim_arr==
기존 함수로 가능
<syntaxhighlight lang='php'>
$arr = array_map('trim', $arr);
</syntaxhighlight>


==[[xmp_print_r]]==
==[[xmp_print_r]]==
<source lang='php'>
<syntaxhighlight lang='php'>
function xmp_print_r($arr) {
function xmp_print_r($arr) { echo '<xmp>'; print_r($arr); echo '</xmp>'; }
echo '<xmp>';
</syntaxhighlight>
print_r($arr);
echo '</xmp>';
}
</source>


==[[xmp_var_dump]]==
==[[xmp_var_dump]]==
<source lang='php'>
<syntaxhighlight lang='php'>
function xmp_var_dump($var)
function xmp_var_dump($var) { echo '<xmp>'; var_dump($var); echo '</xmp>'; }
{
</syntaxhighlight>
echo '<xmp>';
var_dump($var);
echo '</xmp>';
}
</source>


==first==
==first==
<source lang='php'>
<syntaxhighlight lang='php'>
function first($arr) {
function first($arr) {
if (count($arr)<1) return null;  
if (count($arr)<1) return null;  
42번째 줄: 51번째 줄:
return $arr[key($arr)];  
return $arr[key($arr)];  
}
}
</source>
</syntaxhighlight>


==last==
==last==
<source lang='php'>
<syntaxhighlight lang='php'>
function last($arr) {
function last($arr) {
if (count($arr)<1) return null;  
if (count($arr)<1) return null;  
51번째 줄: 60번째 줄:
return $arr[key($arr)];  
return $arr[key($arr)];  
}
}
</source>
</syntaxhighlight>


==ETC==
==ETC==
<source lang='php'>
<syntaxhighlight lang='php'>
//$arr = array_map('trim', $arr); // trim_arr
//array_splice($arr, $i); // $i 부터 끝까지 제거
//array_splice($arr, $i, 1); //delete at $i
//array_splice($arr, $i, $n); // $i 부터 $n개 제거
//array_splice($arr, $i, $n); //delete from $i ... ($n)
//array_splice($arr, $i, 1); // $i 번째 제거
//array_splice($arr, $i); //$i - end
//array_splice($arr, $i, 0, $str) // $i 번째에 원소 1개 삽입
//array_splice($arr, $i, 0, $str) //insert at $i
//array_splice($arr, $i, 0, array($str1, $str2, ...) ) // $i 번째에 원소 여러개 삽입
//array_splice($arr, $i, 0, array($str1, $str2, ...) ) //insert at $i  
 
</source>
//$arr = array_filter($arr); // 빈 원소 제거
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[xmp_print_r]]
*[[xmp_print_r]]
*[[xmp_var_dump]]
*[[xmp_var_dump]]
*[[lib_my.php]]
*[[lib_utf8.php]]
*[[array_filter]]
==참고==
*http://kr2.php.net/manual/en/function.array-push.php
*https://github.com/jmnote/php_lib/blob/master/lib_arr.php


[[분류: PHP]]
[[분류: PHP]]
[[분류: 배열]]
[[분류: 배열]]
[[분류: 커스텀 함수]]
[[분류: 커스텀 함수]]

2020년 11월 2일 (월) 02:34 기준 최신판

1 개요[ | ]

lib_arr.php

2 array_push_array[ | ]

  • array_union
function array_push_array(array &$array) {
    $numArgs = func_num_args();
    if(2 > $numArgs) {
      trigger_error(sprintf('%s: expects at least 2 parameters, %s given', __FUNCTION__, $numArgs), E_USER_WARNING);
      return false;
    }
    $values = func_get_args();
    array_shift($values);
    foreach($values as $v) {
      if(is_array($v)) {
        if(count($v) > 0) {
          foreach($v as $w) $array[] = $w;
        }
      } else $array[] = $v;
    }
    return count($array);
}

3 trim_arr[ | ]

기존 함수로 가능

$arr = array_map('trim', $arr);

4 xmp_print_r[ | ]

function xmp_print_r($arr) { echo '<xmp>'; print_r($arr); echo '</xmp>'; }

5 xmp_var_dump[ | ]

function xmp_var_dump($var) { echo '<xmp>'; var_dump($var); echo '</xmp>'; }

6 first[ | ]

function first($arr) {
	if (count($arr)<1) return null; 
	reset($arr);
	return $arr[key($arr)]; 
}

7 last[ | ]

function last($arr) {
	if (count($arr)<1) return null; 
	end($arr);
	return $arr[key($arr)]; 
}

8 ETC[ | ]

//array_splice($arr, $i); // $i 부터 끝까지 제거
//array_splice($arr, $i, $n); // $i 부터 $n개 제거
//array_splice($arr, $i, 1); // $i 번째 제거
//array_splice($arr, $i, 0, $str) // $i 번째에 원소 1개 삽입
//array_splice($arr, $i, 0, array($str1, $str2, ...) ) // $i 번째에 원소 여러개 삽입

//$arr = array_filter($arr); // 빈 원소 제거

9 같이 보기[ | ]

10 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}