> 백엔드 개발 > PHP 튜토리얼 > PHP 배열 연구 노트

PHP 배열 연구 노트

黄舟
풀어 주다: 2023-03-03 14:40:01
원래의
1090명이 탐색했습니다.

코드는 다음과 같습니다.


header('Content-Type: text/html; charset=utf-8')
echo '

' <br>function var_array($array) <br>{ <br>echo '<pre class="brush:php;toolbar:false">'; <br>var_dump($array) <br>echo '
'
}
function printr($array)
>echo '
'; <br>print_r($array); <br>echo '
'
}
function getArr($sNum, $eNum=1, $step =1)
{
$arr = range($sNum, $eNum, $step)
$reArr = array()
foreach($arr as $v)
{
$reArr[$v] = rand(0,10);
}
unset($arr)
return $reArr;
/**
* 배열 배열 연습
*/
//------------------------------- ----- --
//array_change_key_case()는 마지막 매개변수에 따라 결정된 배열 인덱스의 대문자와 소문자를 변경합니다. CASE_UPPER(대문자로 변환), CASE_LOWER(기본값은 소문자로 변환)
$ expArr = array(
' fiRsT' => '1',
'sEcoNd' => '2',
'ThIrd' => array(
'HuiMa' => '3',
' nengZhuaNma' => '5',
)
);
printr(array_change_key_case($expArr));//모두 소문자로 변환
printr(array_change_key_case($expArr[' ThIrd'] , CASE_UPPER));//모두 대문자로 변환하고 $expArr 배열의 인덱스 키만 변환합니다.
//요약: 이 함수는 배열의 한 수준에만 영향을 미칩니다. 그리고 원래 배열에는 영향을 미치지 않습니다
echo '


'
//------------ - ---------------------------------
//array_chunk($array, $size, false)
//배열을 다차원 배열로 분할합니다. size는 $size마다 배열이 다차원 배열이 되는 방식을 결정합니다. true/false는 새 배열의 키 값이 원래 배열의 키를 상속하는지 여부를 결정합니다. 🎜>$expArr = array('4 ','2','6','d','2')
printr(array_chunk($expArr, 3))
//요약: 함수는 배열의 한 수준에만 영향을 미칩니다. 그리고 원래 배열에는 영향을 미치지 않습니다
echo '


'
//------------ - ---------------------------------
//array_combine($keyArr, $valArr)
/ /두 개의 배열을 하나의 배열로 결합합니다. 키는 $keyArr, 값은 $valArr
$expKey = array('g', 'd', 't')
$expVal = array( '5 ', '8', '7');
printr(array_combine($expKey, $expVal))
//이 함수는 또한 배열의 한 수준에만 영향을 미치고 새 배열을 반환합니다.
echo '
<시간/>
'
//--------- --- -------
//array_count_values($array)
//$array 배열에서 각 값의 발생 횟수를 계산하고, 이 값을 새 배열의 키로 사용하고 발생 횟수를 값으로 사용합니다.
$array = array('v1'=>'265', 'v2'=>'352', 'v3'= > ;'265', 'v4'=>'349', 'v5'=>'265')
printr(array_count_values($array))
//요약: 이 함수는 문자열 및 정수형 값의 통계값에 대해 다른 유형의 경우 경고가 발생합니다!
echo '


'
//------- ------ -----------
//array_diff($array1, $array2...)
/ /$array1을 기본 배열로 사용하면 해당 값이 새 배열을 형성하기 위한 다른 매개변수 배열에 나타나지 않습니다.
$arr1 = array('v4'=>458, 'gren', 'b5', 'a5' );
$arr2 = array('v4'=>598, 'red', 'a5', 'c4')
printr(array_diff($arr1, $arr2)); /요약: 배열을 가져다가 배열에 넣지 않은 값을 찾으려면 통계와 데이터 비교를 이용해야 합니다
//array_intersect($array, $parArr, ... .)
//이 함수 array_intersect()가 공통 데이터를 반환한다는 점을 제외하면 array_diff와 동일한 기능을 가지고 있지만 array_diff는 $array에만 존재하는 데이터입니다.
//
echo '
<시간/> ;

//--------------- ------- ---------
//array_diff_assoc($array1, $array2...)
// array_diff() 함수와 동일하지만 이 함수도 비교를 위해 키를 사용합니다
//
echo '


'
/ /--------- -------------
//array_diff_key
//array_diff() 함수와 동일
//하지만 이건 $만 받습니다. array1의 키를 다른 매개변수 배열로 검색합니다
//
echo '


';
//--------- - ----------------------
//array_diff_uassoc($arr1, $parArr...., 콜백 함수)
//동일함수 array_diff (), 그러나 사용자가 콜백 함수를 정의해야 합니다
//이 함수의 기능을 이해할 수 없습니다
//
echo '

< br/>'
//------------- ----------- -
//array_diff_ukey($arr1, $parArr...., 콜백 함수)
//함수는 array_diff_key()와 동일하지만 array_diff_uassoc와 같습니다. , 콜백 함수가 필요합니다
//
//
echo '


'
//---- -------------- ----------------
//array_fill( $startInt, $numInt, $value)
//Put $ value는 새 배열에 채워집니다. 새 배열의 시작 인덱스 위치는 $startInt에 의해 결정되고 $numInt는 이 배열에서 생성되는 인덱스 수를 제어합니다. .
//팁: $value 외에도 $startInt, $numInt는 숫자여야 합니다. 그렇지 않으면 오류가 보고됩니다.
printr(array_fill(2, 5, 'value')); 요약: 아직 할 생각은 없어요
echo '


//---- ------------- ----------------
//array_fill_keys($ arrKeys, $value);
//array_fill( )함수와 동일합니다. 하지만 여기서는 $arrKeys [배열의 값]이 새 배열의 키로 사용됩니다.
$arrKeys = array('45', 'd', 'b', 'c')
printr( array_fill_keys ($arrKeys, '값'))
echo '


'; ----------------------------------
//array_filter($arr, 콜백 콜백 함수)
//필터 함수, $arr 배열의 값을 판단하여 콜백 콜백 함수가 true를 반환하면 현재 키와 값을 새 배열에 추가합니다.
//팁: 콜백 함수는 다음과 같은 규칙을 작성할 수 있습니다. 규칙을 준수하지 않는 배열 키를 필터링합니다.
function cb($val)
{
return $val%2 == 0
}
$array = array(' k1' =>3, 'k2'=>5,'k4'=>54654, 'k5'=>8794, 8945, 32549564)
printr($array, 'cb')
//팁: 콜백 함수 이름은 따옴표로 묶는 것이 좋습니다
//요약: 이 방법은 데이터 필터링
unset($array)
echo; '
< ;시간/>
'
//------------ -------- -------------
//array_flip($array)
//배열의 키와 값의 관계를 변환합니다. 문자열 및 통합 유형의 키만 지원됩니다. 다른 유형의 경우 경고가 발생하며 해당 키 값은 변환되지 않습니다. 생성된 새 배열에서 키가 동일하면 기존 키의 값을 계속해서 대체합니다.
$arr = array('k1'=>'v1', 'k2'=>' v2' , 'k3'=>'v4', 'k4'=>'v4', 'k5'=>'v5')
printr(array_flip($arr))
설정 해제 ($ arr);
echo '

'
//--------------- -- ---------------
//array_key_exists($key, $array)
//여부 확인 키가 현재 배열에 존재하고 bool을 반환합니다. 또한 객체를 판단하는 데에도 사용할 수 있습니다
$array = array('cb' => 234, 'dv'=>45, 'one'=>897)
if(array_key_exists('one) ', $ 배열))
echo '이 배열에 존재합니다.'
else
echo '존재하지 않습니다.'
echo '

< br/>
//-------------------------- --------- --
//array_keys($array, $selSearch_value)
//키 이름을 배열로 반환하고 $selSearch_value 값이 지정되면 새 배열을 형성합니다. $selSearch_value와 동일한 배열의 키 이름이 반환됩니다.
$array = getArr(4, 10)
printr(array_keys($array))
printr(array_keys($array, '5) '));//값으로 검색
unset($array)
//요약: 데이터 통계 및 데이터 비교 확인에도 사용할 수 있습니다
echo '
< hr/>
';
//--------------------------------- ---------------
echo 'array_map:'
//array_map('callBack', $array,...)
//함수 반환 전달되어 콜백 함수의 반환 값을 반환합니다.
//콜백 함수는 배열을 반환할 수도 있습니다. 또한 콜백 함수는
function mapCb($n)
{
return $n*$n*$n
}
$에 전달할 배열의 값만 허용합니다. array = getArr (4, 15);
printr(array_map('mapCb', $array))
echo '


';
//-------------------
//array_merge($array,$array2...)
//여러 배열을 하나의 배열로 결합하고 숫자 인덱스를 다시 작성합니다.
$arr1 = getArr(1, 5);
$arr2 = getArr(5, 10);
printr(array_merge($arr1, $arr2))
//요약: 추가 배열 새로운 배열을 형성합니다.
echo '


'
//------- ------ -----------
//array_merge_recursive($arr1, $arr2....)
//함수는 위와 같습니다. 하지만 함수는 키 이름을 바꾸는 대신 동일한 키 이름의 값으로 새 배열을 형성합니다
//하지만 사용하려면 실제 상황에 맞게 사용하세요
echo '
<시간/>< ;br/>'
//---------------- ------------ -------
//array_multisort()
//다차원 배열 정렬, 현재는 2차원 배열 정렬만 구현됩니다. 3차원 추정은 정렬할 수 없습니다
//이 함수는 멤버 배열의 순서를 직접 변경합니다
echo '


'; >//--- ----------------
//array_pad($ arr, $size, $value)
//$arr의 현재 길이가 $size보다 작으면 $value를 사용하여 $arr 배열을 다음 길이까지 채웁니다. $arr은 $size와 같습니다
//$arr의 길이가 $size보다 크거나 같으면 이 함수는 $arr를 채우지 않습니다. $size가 0보다 작으면 $arr의 왼쪽에 채워지고, 0보다 크면 오른쪽에 채워집니다.
echo '


';
//---- ------------------ -----------
//array_pop($array )
//배열의 마지막 키를 제거합니다.
echo '


'
//------- ------ ----------------
//array_product($arr)
// 배열의 모든 값의 곱을 반환합니다.
//tip: 이 함수는 숫자가 아닌 데이터를 처리할 수 없습니다. 들어오는 배열에 'a, b 및 기타 문자열'이 포함되어 있으면 php는 오류를 보고합니다.
$arr = array(4,5,5)
echo array_product($arr)
echo '
<시간/>
'
//----------- -------------------
//array_push($arr, $keyArr)
//$arr 배열 끝에 $keyArr을 추가하여 추가합니다. 키/스택 형태로.
//두 함수 array_merge()와 array_merge_recursive()의 차이점:
// arrap_push()는 $arr에 $keyArr을 추가하는 반면, 다른 두 함수는 여러 함수를 A 함수에 연결합니다.
echo '
<시간/>
'
//------ ------ -----------------------
//array_rand($arr, $num=1)
//현재 배열을 가져옵니다. 꺼낸 키는 $num에 의해 결정되며 기본값은 1입니다.
//$num이 1이면 문자열을 반환합니다.
//$num>1 && $num//그렇지 않으면 PHP는 오류를 보고합니다.
$arr = getArr(5, 15)
printr(array_rand($arr, 4))
echo '
;
'
//--------------- ---- ---------------
//array_reduce()
//array_map()과 유사하게 콜백을 통해 배열의 값을 처리합니다. 함수 및 반환 값이 허용됩니다.
//이 함수는 문자열을 반환합니다. 배열의 모든 값을 계산하여 계산된 값을 반환하는 반면, array_map은 각 키 아래의 값을 계산하여 배열을 반환합니다.
//너무 명확하지 않습니다. 예시는 매뉴얼을 참조하세요
echo '
<시간/>
'
//------------ ---------------------
//array_replace($array, $parArr,...)
//매개변수 배열에 키 사용 값은 $array
에서 동일한 키의 값을 대체합니다.//$array 배열의 후속 매개변수 배열에서 해당 키를 찾을 수 없으면 새 배열의 끝에 추가합니다
/* $arr = getArr(4, 10);
$arr2 = getArr(6, 15);
printr($arr);
printr($arr2);*/
$base = 배열 ('citrus' => array( "오렌지") , 'berries' => array("블랙베리", "라즈베리"), )
$replacements = array('citrus' => array(' 파인애플'), '베리' => array('블루베리'))
printr(array_replace($base, $replacements))
echo '


'
//------------------------- ------------- -
//array_replace_recursive() 재귀 교체
//함수는 array_replace()와 동일합니다. 차이점은 array_replace_recursive()는 $array의 구조를 변경하지 않고 다차원 배열에서 작동할 수 있는 반면 array_replace()는 결국 1차원 배열을 반환한다는 것입니다.
$base = array('citrus' => array( "오렌지") , 'berries' => array("블랙베리", "라즈베리"),
$replacements = array('citrus' => ; array('pineapple'), 'berries' => array('blueberry'))
printr(array_replace_recursive($base, $replacements)); hr/>
'
//--------------------------------- ------------
//array_reverse($arr)
//배열의 키를 역순으로 정렬
echo '


'
//----------------------------------- -----------
//array_search($value, $array)
//$array 배열에서 값이 $value인 키 이름을 찾습니다.
//찾을 수 없습니다. 그런 다음 false를 반환합니다.
//$array 배열 뒤에 여러 개의 $value가 있는 경우 첫 번째로 일치하는 키만 반환됩니다.
//이 함수는 array_keys()와 비슷하지만 차이점은 반환 값: array_search() 일치하는 키 이름 하나만 반환되는 반면, array_keys()는 일치하는 모든 키로 구성된 1차원 배열을 반환할 수 있습니다
echo '

< br/>
//-------------------------- --------- --
//array_shift($arr)
//현재 $arr 배열에서 첫 번째 키를 제거하고 다음 숫자 인덱스를 재정렬합니다(원래 순서는 변경하지 않음). ), 숫자가 아닌 인덱스 상수.
//이 함수는 array_pop()과 유사합니다. 차이점은 array_pop()은 마지막 것을 제거하고 array_shift()는 헤드를 제거한다는 것입니다.
echo '

< ;br/> ;';
//------------------------- ---------- ---
//array_slice($arr, $offset, $length=0, false) 배열 가로채기
//현재 $offset에서 시작하는 오프셋을 반환합니다. $arr 배열, 총 $length 요소/키, 그리고 새로운 배열을 구성하여 반환
//$offset 또는 $length가 음수인 경우 반대 방향으로 오프셋됩니다.
//It substring() 문자열 차단과 비슷한 느낌
//Direct PHP 설명서의 예제 사용
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // "c", "d" 및 "e"를 반환합니다.
$output = array_slice($input, -2, 1) // 반환: d"
$output = array_slice($input, 0 , 3); // "a", "b" 및 "c"를 반환합니다.
// 배열 키의 차이점에 유의하세요
printr( array_slice($input, 2, -1));
printr(array_slice($input, 2, -1, true))
echo '

< br/>';
//--- ----------------------- ------
//array_spslice($ arr, $offset, $length)
//array_slice() 함수와 정반대인 이 함수는 $offset과 $length 사이의 요소를 제거합니다.
unset($arr);
echo '< ;br/>

'
//------------ ------------- -----
//array_sum($arr)
//모두 합산하여 누적 $arr 배열의 값, 숫자가 아닌 값인 경우 유형 변환을 시도하지만 변환 후 대부분이 0입니다.
//이 함수는 array_product와 유사하게 배열의 한 레이어에만 영향을 미칩니다. ()
$arr = array(
45,56, 'a', 'b'=>getArr(1, 2),
)
printr($arr); >echo 'array_sum($arr)',array_sum($arr)
echo '


'
//---- ---- -----------------------
//array_values($arr)
//$arr 배열의 값을 추출하여
$arr = array(
'k1'=>45,'k2'=>56, 'k3'=>'a', 'b'=>getArr(1, 2 ),
)
printr(array_values($arr))
echo '

'
//- ---------------- ------------------
//array_unique ($arr) 배열 재정렬
//$arr 배열을 재정렬하고 중복 값을 필터링합니다. 여러 개의 동일한 값은 첫 번째 값만 유지합니다
echo '


'
//--------- ------------------------------------
//array_walk($arr, 콜백[콜백 함수 ], $sel_perfix='')
//처리를 위해 현재 배열 아래의 각 키를 콜백 함수로 보냅니다.
//$sel_perfix 매개변수가 추가되면 콜백 함수도 3개의 매개변수를 수신해야 합니다. 그렇지 않으면 오류가 보고됩니다
//이 함수는 하나의 레이어에만 영향을 미칩니다.
$fruits = array("d" => "lemon", "a" => "orange", "b" => "바나나", "c" => "사과");function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
printr(array_walk($fruits, 'test_print')) ;
array_walk($fruits, 'test_alter', 'fruit')
echo '


'; -------------------
// array_walk_recursive( )
//함수는 array_alk()와 유사하지만 $arr의 각 배열 수준을 반복하며 반환된 배열은 원래 배열의 구조를 변경하지 않습니다.
echo '
<시간/>
'
//--------------- ----- ------------
//arsort($arr)
//배열 키 이름에 따라 배열을 정렬하면 문자를 정렬할 수 있습니다. 정렬에 실패하면 null이 반환됩니다.
echo '


'
//---------- -- --------------------------------
//asort()
//함수는 다음과 같습니다. arsort()와 유사하지만 차이점은 다음과 같습니다. asort()는 값을 정렬합니다.

위는 PHP 배열 연구 노트의 내용입니다. 더 많은 관련 기사를 보려면 PHP 중국어 웹 사이트( www.php.cn)!



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