배열 의 관련 처리 함수
2. 통계 배열 요소 의 개수 와 유일 성
3. 반전 함수 로 배열 의 함 수 를 처리 합 니 다.
4. 배열 의 정렬 함수
5. 분할, 합병, 분해 와 결합 배열
6. 배열 과 데이터 구조
7. 기타 유용 한 배열 처리 함수
1. 배열 의 키, 값 조작 함수
array_values();
용도: 배열 의 모든 값 을 되 돌려 줍 니 다.
형식: array arrayvalues ( array input )
array_keys();
용도: 배열 의 모든 키 이름 을 되 돌려 줍 니 다.
형식: array arraykeys(array input[,mixed search_value [,bool strict]]) 그 중 searchvalue 가 비어 있 으 면 이 값 의 키 이름 만 되 돌려 줍 니 다.
in_array();
용도: 배열 에 어떤 값 이 있 는 지 확인 합 니 다.
형식: bool inarray (mixed needle, array haystack [, bool strict]) 에서 strict 매개 변수: 유형 일치 여부
array_flip();
용도: 배열 의 키 와 값 을 교환 합 니 다.
형식: array arrayflip(array trans)
array_reverse()
용도: 단원 순서 가 반대 되 는 그룹 을 되 돌려 줍 니 다.
형식: array arrayreverse ( array array [, bool preserve_keys] ) 하면, 만약, 만약...keys 가 TRUE 이면 원래 키 이름 을 유지 합 니 다.
사례:
$arr = ['rose','lily','xiaoxue','jack','xiaoming','jack'];
/ ,
$result =array_keys($arr);
print_r($result);
// ,
$result = array_values($arr);
print_r($result);
// in_array() 。$arr = ['jpg','png','gif'];
// $result = in_array('jacky',$arr);
// var_dump($result);
if(in_array('jackok',$arr)){
echo 'jack $arr ';
}else{
echo 'jack $arr ';
}
//
$brr = array_flip($arr);
print_r($brr);
//
$arr = ['rose','lily','xiaoxue','jack','xiaoming','ajack'];
print_r(array_reverse($arr,true));
2. 통계 배열 요소 의 개수 와 유일 성
count();
용도: 배열 의 단원 수 나 대상 의 속성 개 수 를 계산 합 니 다.
사례:
$arr = ['rose','lily','xiaoxue','jack','xiaoming','ajack'];
//
echo count($arr);
array_count_values();
용도: 배열 의 모든 값 이 나타 나 는 횟수 를 통계 합 니 다.
array_unique();
용도: 배열 에서 중복 되 는 값 제거
사례:
<?php
$arr = ['a','b','a','c','d','c','a','b'];
//
$brr = array_count_values($arr);
//
$crr = array_unique($arr);
print_r($crr);
결과:
Array
(
[a] => 3
[b] => 2
[c] => 2
[d] => 1
)
Array
(
[0] => a
[1] => b
[3] => c
[5] => d
)
3. 반전 함수 로 배열 의 함 수 를 처리 합 니 다.
array_filter();
용도: 반전 함수 로 배열 의 셀 을 걸 러 냅 니 다.
형식: array arrayfilter(array input [,callback callback])
설명: input 배열 의 모든 값 을 콜 백 함수 에 순서대로 전달 합 니 다.
사례 1: 비 어 있 지 않 음!empty
<?php
include 'db.php';
$sql = "select * from bbs_content limit 1";
$data = select($sql)[0];
echo '<pre>';
//
$result = array_filter($data,'myfunc');
function myfunc($x)
{
return !empty($x);
}
print_r($result);
결과:
Array
(
[id] => 1
[pid] => 4
[uid] => 1
[title] =>
[content] =>
[edittime] => 1398212373
[posttime] => 1398212373
[visittimes] => 1
[cost] => 10
[ip] => 2130706433
[isopen] => 1
)
사례 2 (위의 결과 의 반 례): 빈 empty
//
$result = array_filter($data,'myfunc');
function myfunc($x)
{
return empty($x);
}
print_r($result);
결과:
Array
(
[pic] =>
[keywords] =>
[description] =>
[ishot] => 0
[isjinghua] => 0
[istop] => 0
[allowlevel] => 0
[needreply] => 0
[inbox] => 0
)
사례 3:
$arr = [0,1,2,3,true,false,null];
$result = array_filter($arr,'fun');
function fun($a)
{
if($a){
return true;
}else{
return false;
}
}
print_r($result);
사례 3 의 간소화:
$result = array_filter($arr,function($x){ return $x;});
print_r($result);
결 과 는 모두:
Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 1
)
array_walk();
용도: 배열 의 모든 구성원 에 게 사용자 함수 적용
형식: bool arraywalk(array &array, callback funcname[,mixed userdata])
설명: 성공 하면 TRUE 로, 실패 하면 FALSE 로 돌아 갑 니 다.
사용자 정의 함수 funcname 을 array 배열 의 모든 단원 에 적용 합 니 다.전형 적 인 상황 에서 funcname 은 두 개의 인 자 를 받 아들 입 니 다.array 매개 변수의 값 은 첫 번 째 이 고, 키 이름 은 두 번 째 입 니 다.선택 가능 한 매개 변수 userdata 를 제공 하면 세 번 째 매개 변수 로 callback funcname 에 전 달 됩 니 다.
array_walk () 는 array 내부 배열 지침 의 영향 을 받 지 않 습 니 다.array_walk () 는 포인터 의 위 치 를 상관 하지 않 고 전체 배열 을 옮 겨 다 닙 니 다.
사례:
<?php
$arr = ['apple','li','banana','xigua','taozi'];
echo '<pre>';
//
array_walk($arr,"myfun");
function myfun(&$v,$k)
{
$v .= 'lai 2 jin';
}
print_r($arr);
array_walk($arr,'fun','abc');
function fun(&$v,$k,$u)
{
$v.=$u;
}
print_r($arr);
결과:Array
(
[0] => applelai 2 jin
[1] => lilai 2 jin
[2] => bananalai 2 jin
[3] => xigualai 2 jin
[4] => taozilai 2 jin
)
Array
(
[0] => applelai 2 jinabc
[1] => lilai 2 jinabc
[2] => bananalai 2 jinabc
[3] => xigualai 2 jinabc
[4] => taozilai 2 jinabc
)
의문: array 매개 변수의 값 은 첫 번 째 이 고, 키 는 두 번 째 입 니 다.왜 출력 키 이름 이 색인 아래 표 시 됩 니까?
array_map();
용도: 반전 함 수 를 주어진 배열 의 단원 에 작용 합 니 다.
형식: array arraymap ( callback callback, array arr1 [, array ...] )
설명: arraymap () 는 배열 을 되 돌려 줍 니 다. 이 배열 은 arr 1 의 모든 단원 이 callback 작용 을 거 친 후의 단원 을 포함 합 니 다.콜백 이 받 아들 인 매개 변수 수 는 array 에 전달 해 야 합 니 다.map () 함수 의 배열 수 는 일치 합 니 다.
사례:
<?php
$arr = [10,100,20,60,50,60];
$brr = [11,21,31,41,51,61,71];
//
$result = array_map('myfun',$arr);
function myfun($x)
{
return $x += 10;
}
echo '<pre>';
print_r($result);
$result = array_map('fun',$arr,$brr);
function fun($x,$y)
{
return $x + $y;
}
print_r($result);
결과:Array
(
[0] => 20
[1] => 110
[2] => 30
[3] => 70
[4] => 60
[5] => 70
)
Array
(
[0] => 21
[1] => 121
[2] => 51
[3] => 101
[4] => 101
[5] => 121
[6] => 71
)
4. 배열 의 정렬 함수
sort -- 배열 정렬 (오름차 순)
rsort -- 배열 역방향 정렬 (내림차 순)
usort -- 사용자 정의 비교 함 수 를 사용 하여 배열 의 값 을 정렬 합 니 다.
사례:
<?php
$arr = [10,100,20,60,50,60];
echo '<pre>';
/*
// ( )
sort($arr);
// ( )
rsort($arr);
print_r($arr);
*/
usort($arr,'myfun');
function myfun($a,$b)
{
retrun $a-$b;
}
print_r($arr);
결과:Array
(
[0] => 10
[1] => 20
[2] => 50
[3] => 60
[4] => 60
[5] => 100
)
asort -- 배열 을 정렬 하고 색인 관 계 를 유지 합 니 다 (관련 배열 정렬)
arsort -- 배열 을 역방향 으로 정렬 하고 색인 관 계 를 유지 합 니 다.
uasort -- 사용자 정의 비교 함수 가 배열 을 정렬 하고 색인 관 계 를 유지 합 니 다.
사례:<?php
header("content-type:text/html;charset=utf-8");
$users = ['user1' => 'xiongda','user2' => 'xiaohei','user3'=>'xibobai'];
echo '<pre>';
//
// asort($users);
//
// arsort($users);
// ,
uasort($users,'myfun');
function myfun($a,$b)
{
if($a > $b){
return 1;
}
if($a < $b){
return -1;
}
if($a == $b){
return 0;
}
}
print_r($users);
결과:Array
(
[user2] => xiaohei
[user3] => xibobai
[user1] => xiongda
)
ksort -- 배열 을 키 이름 으로 정렬 합 니 다.
krsort -- 배열 을 키 이름 에 따라 역방향 으로 정렬 합 니 다.
uksort -- 사용자 정의 비교 함 수 를 사용 하여 배열 의 키 이름 을 정렬 합 니 다.
사례:<?php
header("content-type:text/html;charset=utf-8");
$users = ['user6' => 'xiongda','user2' => 'xiaohei','user1'=>'xibobai'];
//
ksort($users);
//
krsort($users);
//
uksort($users,'myfun');
function myfun($a,$b)
{
if($a > $b){
return 1;
}
if($a < $b){
return -1;
}
if($a == $b){
return 0;
}
}
echo '<pre>';
print_r($users);
결과:
Array (
[user1] => xibobai
[user2] => xiaohei
[user6] => xiongda
)
natsort -- '자연 정렬' 알고리즘 으로 배열 정렬
natcasesort -- '자연 정렬' 알고리즘 으로 배열 에 대해 대소 문자 순 서 를 구분 하지 않 습 니 다.
array_multisort -- 여러 배열 이나 다 차원 배열 을 정렬 합 니 다.
사례:<?php
$arr = ['image123','Image102','image120','Image1202','image1231'];
echo '<pre>';
sort($arr);
print_r($arr);
echo '<hr>';
//
natsort($arr);
print_r($arr);
echo '<hr>';
//
natcasesort($arr);
print_r($arr);
결과:
Array
(
[0] => Image102
[1] => Image1202
[2] => image120
[3] => image123
[4] => image1231
) ASCII
Array
(
[0] => Image102
[1] => Image1202
[2] => image120
[3] => image123
[4] => image1231
) ASCII
Array
(
[0] => Image102
[2] => image120
[3] => image123
[1] => Image1202
[4] => image1231
)
sort 와 natsort 의 비교: sort 비트 별로 정렬
<?php
//image i
$arr = ['image123','image102','image120','image1202','image1231'];
echo '<pre>';
sort($arr);
print_r($arr);
echo '<hr>';
//
natsort($arr);
print_r($arr);
결과:Array
(
[0] => image102
[1] => image120
[2] => image1202
[3] => image123
[4] => image1231
)
Array
(
[0] => image102
[1] => image120
[3] => image123
[2] => image1202
[4] => image1231
)
array_multisort -- 여러 배열 이나 다 차원 배열 을 정렬 합 니 다.<?php
include 'db.php';
$sql = 'select regtime,username,money,email from bbs_user limit 3';
$data = select($sql);
echo '<pre>';
// print_r($data);
foreach($data as $v){
$email[] = $v['email'];
$username[] = $v['username'];
$regtime[]=$v['regtime'];
}
// print_r($email);
// print_r($username);
//
array_multisort($username,SORT_DESC,$regtime,SORT_ASC,$email,SORT_ASC,$data);
print_r($data);
결과:Array
(
[0] => Array
(
[regtime] => 1397632974
[username] => jackyok
[money] => 100
[email] => [email protected]
)
[1] => Array
(
[regtime] => 1397632773
[username] => jack
[money] => 100
[email] => 50377203@qq.com
)
[2] => Array
(
[regtime] => 1397633371
[username] => alibaba
[money] => 100
[email] => 50377203@qq.com
)
)
5. 분할, 합병, 분해 와 결합 배열
array_slice -- 배열 에서 한 단락 꺼 내기
<?php
$arr = ['a','b','c','d','e','f'];
// $result = array_slice($arr,3);
$result = array_slice($arr,-4,-1);
var_dump($result);
:
array(3) { [0]=> string(1) "c" [1]=> string(1) "d" [2]=> string(1) "e" }
array_splice -- 배열 의 일부분 을 제거 하고 다른 값 으로 대체 하 다.
<?php
$arr = ['a','b','c','d','e','f'];
// $brr = array_splice($arr,1,1,'x');
// $brr = array_splice($arr,1);
// $brr = array_splice($arr,-1);
// $brr = array_splice($arr,1,1);
// $brr = array_splice($arr,1,-1);
// $brr = array_splice($arr,-3,1);
// $brr = array_splice($arr,-3,-1,['x','y']);
$brr = array_splice($arr,-3,-1,array(array('a','b')));
echo '<pre>';
print_r($arr);
echo '<hr>';
print_r($brr);
:
Array
(
[0] => a
[1] => b
[2] => c
[3] => Array
(
[0] => a
[1] => b
)
[4] => f
)
Array
(
[0] => d
[1] => e
)
array_combine -- 하나의 배열 을 만 들 고 하나의 배열 의 값 을 키 이름 으로 하고 다른 배열 의 값 을 값 으로 합 니 다. <?php
$arr = ['a','b','c','d'];
$brr = ['huanggua','mangguo','taozi','boluo'];
// , ,
$crr = array_combine($arr,$brr);
echo '<pre>';
print_r($crr);
:
Array
(
[a] => huanggua
[b] => mangguo
[c] => taozi
[d] => boluo
)
array_merge -- 하나 이상 의 배열 을 합 칩 니 다.
<?php
$arr = array('xiaorui',10=>'enzhu','jingjing','user1'=>'minghui','caojie');
$brr = array('zhangtao','hongli',10=>'fengtao','henian','user1'=>'haijing');
// ,
$crr = array_merge($arr,$brr);
echo '<pre>';
print_r($crr);
:
Array
(
[0] => xiaorui
[1] => enzhu
[2] => jingjing
[user1] => haijing
[3] => caojie
[4] => zhangtao
[5] => hongli
[6] => fengtao
[7] => henian
)
array_intersect -- 계산 배열 의 교 집합
array_diff -- 계산 배열 의 차 집합 <?php
$arr = array('xiaorui','enzhu','jingjing','haijing','caojie');
$brr = array('zhangtao','enzhu','fengtao','henian','haijing');
//
// $crr = array_intersect($arr,$brr);
//
$crr = array_diff($arr,$brr);
echo '<pre>';
print_r($crr);
6. 배열 과 데이터 구조<?php
$brr = array('zhangtao','enzhu','fengtao','henian','haijing');
//
// $result = array_pop($brr);
// ( )
// $result = array_push($brr,'shenchao');
//
// $result = array_shift($brr);
//
// $result = array_unshift($brr,array('cenghao','gaolaoshi'));
echo '<pre>';
print_r($brr);
print_r($result);
array_rand -- 배열 에서 하나 이상 의 단원 을 무 작위 로 꺼 냅 니 다. <?php
$arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
//
$keys = array_rand($arr,3);
print_r($keys);
foreach($keys as $v){
echo $arr[$v].'<br>';
}
shuffle -- 배열 을 흐 트 러 뜨 립 니 다.<?php
$arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
//shuffle ―
shuffle($arr);
print_r($arr);
echo $arr[0].'<br>';
echo $arr[1].'<br>';
echo $arr[2];
//
// ( ) ( )
$brr = range(1,54,3);
echo '<pre>';
print_r($brr);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Cognos 목록을 프롬프트에서 선택한 항목으로 오름차순 및 내림차순으로 정렬Cognos BI & Analytics에서 리스트의 정렬을 항목 지정 및 정렬 순서 지정으로 하고 싶을 때의 방법입니다. 정렬 항목 프롬프트에서 수량을 선택하고 정렬 순서 프롬프트에서 내림차순을 선택한 예입니다. 정...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.