PHP之数组遍历
PHP之数组遍历
数组在PHP中是一个非常强大的武器,用起来方便、容易,由于使用起来异常灵活,用它就可以实现数据结构中的链表、栈、队列、堆以及所谓的字典、集合等,也可以转换成XML格式。
1、使用for
for语句遍历数组不是一个好选择,一般不会用,局限性太大,因为数组的下标很多时候不连续,或者是既有整数下标又有字符串下标,但存在这么一个情况,恰好是索引数组,且它的下标是连续的,那么这也是一种方法。
$array = array('a', 'b', 'c', 'd', 'e');
$size = count($array); //取得数组单元个数
for($i=0; $i
echo $array[$i].'
';
2、使用foreach
foreach比for更方便、灵活,一般使用它,使用时foreach($arr_name as $value),将前一个数组使用as关键字专为它的元素,当然这是针对一维数组而言,还可以将元素所在的键名取到,如下方式foreach($arr_name as $key=>$value)即可。
$array = array('os'=>'Linux', 'server'=>'Apache', 'db'=>'mysql', 'language'=>'PHP');
foreach($array as $key=>$value){
echo 'key: '.$key.' --- value: '.$value.'
';
}
:
3、list、each、while函数结合
each函数每作用于数组一次,指向内部元素的指针遍向后挪动一个单元,每次each返回一个固定格式的键/值对数组,具体是(1=>值, 'value'=>值, 0=>键, 'key'=>键)。下一次each作用时将移动到下一个元素,示例
$arr = array('one'=>'a','two'=>'b', 'three'=>'c');
$lst = each($arr);
echo 'each=>
'; <p> var_dump($lst); </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> list函数的作用是,赋给它一个数组变量,它会将该数组中的以整数为键值的元素按键值从小到大的顺序赋给自己的参数,如果参数不够填满参数为止,如果数组中值不够,则参数被赋为空值,代码接上</p> <p> </p> <p> list($key, $val) = $lst;</p> <p> echo '<br>';</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> $lst数组变量中的值,键值为整数的分别是前面的1=>'a'和后面的0=>'one,list函数的好处是即便键值小的、排在后边元素也会按照从小到大的顺序赋给list函数中的从前到后的参数。</p> <p> </p> <p> 由于each不循环数组,每each作用一下只移动一下指针,到数组末尾返回值为false,于是放在while中就最合适不过了</p> <p> </p> <p> </p> <p> </p> <p><?php </p> </p><p> $arr = array('one'=>'a','two'=>'b', 'three'=>'c');</p> <p> while(list($key, $val) = each($arr)){</p> <p> echo $key.' => '.$val.'<br>';</p> <p> }</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> 4、使用数组内部指针移动函数</p> <p> </p> <p> 数组内部指针默认指向数组中的第一个元素,函数大致有,current():返回当前指针指向数组中位置的元素值;key():返回当前指针指向数组中位置的元素键;next():将指针移动到下一个元素位置;prev():将指针移动到前一个元素位置;reset():将数组指针一到那个到数组第一个元素的位置;end():将数组指针移动到数组最后一个元素的位置。它们作用的参数均为数组变量本身,而结合do...while又可实现数组的顺序和逆序遍历。</p> <p> </p> <p> </p> <p> </p> <p>复制代码</p> <p><?php </p> </p><p> echo 'key:'.key($arr).' current:'.current($arr).'<br>'; //当前键和值,默认指向数组第一个元素</p> <p> next($arr); //后移一个,指向第二个元素</p> <p> echo 'key:'.key($arr).' current:'.current($arr).'<br>'; //当前键和值</p> <p> next($arr); //再后移一个,指向第三个元素</p> <p> echo 'key:'.key($arr).' current:'.current($arr).'<br>'; //当前键和值</p> <p> prev($arr); //前移一个,指向第二个元素</p> <p> echo 'key:'.key($arr).' current:'.current($arr).'<br>'; //当前键和值</p> <p> end($arr); //移动到数组最后一个元素</p> <p> echo 'key:'.key($arr).' current:'.current($arr).'<br>'; //当前键和值</p> <p> reset($arr); //移动到数组第一个元素</p> <p> echo 'key:'.key($arr).' current:'.current($arr).'<br>'; //当前键和值</p> <p> </p> <p> </p> <p> </p> <p> </p>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 배열에서 중복 요소를 제거하기 위해 foreach 루프를 사용하는 방법은 다음과 같습니다. 배열을 순회하고 요소가 이미 존재하고 현재 위치가 첫 번째 항목이 아닌 경우 삭제합니다. 예를 들어, 데이터베이스 쿼리 결과에 중복된 레코드가 있는 경우 이 방법을 사용하면 이를 제거하고 중복된 레코드가 없는 결과를 얻을 수 있습니다.

PHP에서 배열을 깊게 복사하는 방법에는 json_decode 및 json_encode를 사용한 JSON 인코딩 및 디코딩이 포함됩니다. array_map 및 clone을 사용하여 키와 값의 전체 복사본을 만듭니다. 직렬화 및 역직렬화를 위해 직렬화 및 역직렬화를 사용합니다.

PHP 배열 키 값 뒤집기 방법의 성능 비교는 array_flip() 함수가 대규모 배열(100만 개 이상의 요소)에서 for 루프보다 더 나은 성능을 발휘하고 시간이 덜 걸리는 것을 보여줍니다. 키 값을 수동으로 뒤집는 for 루프 방식은 상대적으로 시간이 오래 걸립니다.

다차원 배열 정렬은 단일 열 정렬과 중첩 정렬로 나눌 수 있습니다. 단일 열 정렬은 array_multisort() 함수를 사용하여 열별로 정렬할 수 있습니다. 중첩 정렬에는 배열을 순회하고 정렬하는 재귀 함수가 필요합니다. 실제 사례로는 제품명별 정렬, 판매량 및 가격별 복합 정렬 등이 있습니다.

PHP에서 배열 전체 복사를 수행하는 가장 좋은 방법은 json_decode(json_encode($arr))를 사용하여 배열을 JSON 문자열로 변환한 다음 다시 배열로 변환하는 것입니다. unserialize(serialize($arr))를 사용하여 배열을 문자열로 직렬화한 다음 새 배열로 역직렬화합니다. RecursiveIteratorIterator를 사용하여 다차원 배열을 재귀적으로 순회합니다.

PHP의 array_group_by 함수는 키 또는 클로저 함수를 기반으로 배열의 요소를 그룹화하여 키가 그룹 이름이고 값이 그룹에 속한 요소의 배열인 연관 배열을 반환할 수 있습니다.

PHP는 웹 사이트 개발 및 데이터 처리 분야에서 널리 사용되는 일반적으로 사용되는 서버 측 스크립팅 언어입니다. PHP에서는 배열의 값을 크기별로 정렬하는 것이 매우 일반적인 요구 사항입니다. 내장된 정렬 기능을 사용하면 배열을 쉽게 정렬할 수 있습니다. 다음은 PHP를 사용하여 배열의 값을 크기별로 정렬하는 방법을 구체적인 코드 예제와 함께 소개합니다. 1. 배열의 값을 오름차순으로 정렬합니다.

PHP의 array_group() 함수를 사용하면 지정된 키로 배열을 그룹화하여 중복 요소를 찾을 수 있습니다. 이 함수는 다음 단계를 통해 작동합니다. key_callback을 사용하여 그룹화 키를 지정합니다. 선택적으로 value_callback을 사용하여 그룹화 값을 결정합니다. 그룹화된 요소 수를 계산하고 중복 항목을 식별합니다. 따라서 array_group() 함수는 중복된 요소를 찾고 처리하는 데 매우 유용합니다.
