PHP 의 Array 배열 과 foreach 를 깊이 이해 합 니 다.

3412 단어 phpforeach배열
1.배열 이해
PHP 의 배열 은 사실상 질서 있 는 맵 입 니 다.맵 은 values 를 keys 에 연결 하 는 형식 입 니 다.자세 한 설명 은 PHP.net 의 Array 배열 을 참조 하 십시오.    。
2.예:일반적인 배열
여기 서 나 는 간단 한 예 를 통 해 도형 방식 으로 배열 을 이해한다.

$a = array(3 => 'a', 1 => 'b', 2 => 'c');

echo var_dump($a);

 [주]:화살표 로 배열$a 각 단원 이 특정한 메모리 주소 에 대응 하 는 데이터 값 을 설명 합 니 다(실제로 내부 구 조 는 HashTable 구 조 를 사용 하여 새 형 이 쓴 PHP 의 Hash 알고리즘 을 참고 할 수 있 습 니 다).
3.예:배열 정의 에 인용 을 추가 합 니 다.

$x = 'x';
$a = array(3 => 'a', 1 => &$x, 2 => 'c');

echo "<hr>";
echo var_dump($a);

$x = 'y';
echo var_dump($a);
배열$a 의 두 번 째 단원$a[1]는$x 와 같은 데 이 터 를 사용 합 니 다.vardump($a)에 서 는 배열 의 두 번 째 단원 에 여러 개의&기호,즉&string(1)"x"를 볼 수 있 습 니 다.
$x 의 값='y'를 수정 하면$a[1]의 값='y'를 수정 하 는 것 과 같 습 니 다.
다음 그림 은 이 변 화 를 명확 하 게 묘사 할 수 있다.

4.예:foreach 를 사용 하여 배열 을 옮 겨 다 닙 니 다.

$a = array(3 => 'a', 1 => 'b', 2 => 'c');

echo "<hr>";
foreach ($a as $key => $value) {
  echo "$key => $value <br>";

}

순환 할 때마다 현재 배열 의 단원 값 은$value 에 부여 되 고 단원 의 키 키 는$key 에 부 여 됩 니 다.다음 그림 설명:

[주:]회색 허 화살 표 는 특정한 값 을 부여 한 다 는 것 을 나타 낸다.
 5.예:foreach 에서 배열 을 옮 겨 다 니 며 참조 할당 을 사용 합 니 다.

$a = array(3 => 'a', 1 => 'b', 2 => 'c');

echo "<hr>";
foreach ($a as $key => &$value) {
  $value.='n';
  echo "$key => $value <br>";

}

순환 할 때마다$value 는 현재 배열 의 단원 값 을 가리 키 며'$value.='n'을 실행 합 니 다.코드,다음 그림 설명 참조:

6.예:예 5 에 대한 진일보 한 분석.
예 5.foreach 가 배열 을 옮 겨 다 니 며 완료 되면$value 변 수 를 자동 으로 없 애 지 않 고 배열$a 의 마지막 단원$a[2]와 같은 데 이 터 를 가리 키 지 않 습 니 다.
이때$value 의 값 을 바 꾸 었 습 니 다.즉,$a[2]의 값 을 바 꾸 었 습 니 다.

$value='m';

echo "<hr>";
echo "\$value=$value <br>";
echo var_dump($a);


인 스 턴 스 검증,배열 의 마지막 요소 인$value 참조 가 foreach 순환 후에 도 유 지 됩 니 다.unset()를 사용 하여 소각 하 는 것 을 권장 합 니 다.
7.소결
이상 의 예 는 php 의 array 배열 과 foreach 의 일부 특성 만 설명 합 니 다.마지막 으로 phop 의 array 배열 과 foreach 는 다른 프로 그래 밍 언어 와 달리 C 언어 와 유사 한 구조 분석 PHP 를 사용 할 수 없다 고 생각 합 니 다.
PHP 의 Array 배열 과 foreach 의 모든 내용 을 알 아 보 는 시간 을 가 져 왔 습 니 다.많은 응원 부 탁 드 리 겠 습 니 다~

좋은 웹페이지 즐겨찾기