PHP 소스 코드 21에 대한 간략한 토론: array_slice 함수에 대하여

不言
풀어 주다: 2023-04-01 22:56:02
원래의
1955명이 탐색했습니다.

이 글에서는 특정 참조값을 갖는 PHP 소스코드 21: array_slice 함수에 대해 주로 소개합니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다.

#🎜# PHP 소스 코드 21에 대한 간략한 이야기: array_slice function

array_slice

(PHP 4, PHP 5)

array_slice — 배열에서 세그먼트 꺼내기# 🎜🎜 #Description

array array_slice (array array, int offset [, int length [, bool presents_keys]] )

array_slice()는 오프셋과 길이로 지정된 배열의 세그먼트를 반환합니다. 매개변수.

오프셋이 음수가 아닌 경우 시퀀스는 배열의 이 오프셋에서 시작됩니다. 오프셋이 음수이면 시퀀스는 배열의 끝에서 이만큼 멀리 시작됩니다.

길이가 주어지고 양수이면 시퀀스에 이만큼의 셀이 있게 됩니다. 길이가 주어지고 음수이면 시퀀스는 배열의 끝에서 이만큼 멀리 종료됩니다. 생략하면 시퀀스가 ​​오프셋에서 시작하여 배열의 끝으로 이동합니다.

이 섹션에서는 프로그램의 구현이 다음과 같이 매우 간단하다는 것을 설명합니다.

while (pos < offset + length && ...) { ....... }
로그인 후 복사

array_slice()는 기본적으로 배열의 키를 재설정합니다. PHP 5.0.2부터, Preserve_keys를 TRUE로 설정하여 이 동작을 변경할 수 있습니다.

여기서 언급한 배열 재설정 키는 배열의 숫자 키를 재설정하는 것을 의미합니다.

PHP 코드는 다음과 같습니다:

<?PHP $arr = array(2 => 2, 1 => 1, &#39;s&#39; => &#39;s&#39;, &#39;0&#39; => &#39;ddd&#39;); var_dump(array_slice($arr, 0)); die(); /* 此段程序会输出:array(4) { [0]=> int(2) [1]=> int(1) ["s"]=> string(1) "s" [2]=> string(3) "ddd" } */
로그인 후 복사

소스 코드에서 볼 수 있는 내용은 다음과 같습니다.

<pre line="1" switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(input), &string_key, &string_key_len, &num_key, 0, &hpos)) {     
case HASH_KEY_IS_STRING:    //    key为字符串,没有重置数组键的操作         
zend_hash_update(Z_ARRVAL_P(return_value), string_key, string_key_len, entry, sizeof(zval *), NULL);         
break;     
case HASH_KEY_IS_LONG:    //    key为数字     
if (preserve_keys) {    //    preserve_keys为true时不重置数字键         
zend_hash_index_update(Z_ARRVAL_P(return_value), num_key, entry, sizeof(zval *), NULL);     
} else {    //    默认情况下重置数字键         
zend_hash_next_index_insert(Z_ARRVAL_P(return_value), entry, sizeof(zval *), NULL);     
}     
break; }
로그인 후 복사

위 내용은 이 기사의 전체 내용입니다. 모든 사람의 학습에 도움이 될 것입니다. 더 많은 관련 콘텐츠를 보려면 PHP 중국어 웹사이트에 주목하세요!

관련 권장 사항:

PHP 소스 코드 20에 대한 간략한 토론: array_flip, array_reverse 함수 정보

# 🎜🎜 #
PHP 소스 코드에 대한 간략한 토론 19: array_file, 범위 함수 정보

위 내용은 PHP 소스 코드 21에 대한 간략한 토론: array_slice 함수에 대하여의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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