>  기사  >  백엔드 개발  >  PHP 배열 포인터 연구 노트(1)

PHP 배열 포인터 연구 노트(1)

WBOY
WBOY원래의
2016-07-28 08:29:421019검색

이러한 문제가 있습니다. 배열 대기열에서는 배열 길이가 고정되어 있습니다. 입력에 요소를 삽입할 때 최대 길이를 초과하면 배열이 자동으로 덮어쓰기 및 채우기를 시작합니다.

이때, 배열 전체가 링을 형성합니다. 아래 그림과 같습니다.

 php数组指针学习笔记(一)

// 배열 정의

$test_array = array();
function push_array($value, &$ test_array) {
if (count($test_array) < 12) {

// 배열이 지정된 길이보다 작을 때 요소를 직접 추가

$test_array [] = $value;
} else {

// 배열이 지정된 길이보다 큰 경우 각각을 사용하여 현재 포인터의 요소를 꺼내고 포인터를 아래로 이동합니다

list($k, $v) = Each($test_array);

// 일반적으로 모듈로 알고리즘을 사용하여 덮어쓸 키를 얻은 후 직접 덮어씁니다

$k = $k % 12;
$test_array[$k] = $value;
}
}
push_array(0,$test_array);
push_array (1,$test_array);
push_array(2,$test_array);
push_array(3,$test_array);
push_array(4,$test_array);
push_array(5,$test_array) ;
push_array(6,$test_array) ;
push_array(7,$test_array);
push_array(8,$test_array);
push_array(9,$test_array);
push_array( 10,$test_array);
push_array( 11,$test_array);
push_array(12,$test_array);
push_array(13,$test_array);
push_array(14,$test_array);
push_array(15,$test_array);
push_array(16,$test_array);
push_array(17,$test_array);
push_array(18,$test_array);
push_array(19 ,$test_array);
push_array(20 ,$test_array);
push_array(21,$test_array);
push_array(22,$test_array);
push_array(23,$test_array);
push_array(24,$test_array);
var_dump($test_array);exit;

테스트 결과:

array(12) {
  [0]=>
  int(24)
  [1]=>
  int(13)
  [2]=>
  int(14)
  [3]=>
  int(15)
  [4]=>
  int(16)
  [5]=>
  int(17)
  [6]=>
  int(18)
  [7]=>
  int(19)
  [8]=>
  int(20)
  [9]=>
  int(21)
  [10]=>
  int(22)
  [11]=>
  int(23)
}

각각 외에도 다음 배열 포인터 함수도 사용하기 쉽습니다

  • current() - 배열의 현재 요소 값을 반환합니다.
  • end() - 내부 포인터를 배열의 마지막 요소로 설정합니다. 배열 및 출력
  • next() - 내부 포인터가 배열의 다음 요소를 가리키고 출력
  • prev() - 내부 포인터가 배열의 이전 요소를 가리킴
  • reset() - 내부 포인터를 배열로 가리킵니다.

의 첫 번째 요소와 출력

위 내용을 포함하여 PHP 배열 포인터 연구 노트(1)를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.