이 글은 주로 PHP 소스 코드에 대한 간단한 토론을 소개합니다. 19: array_file 및 range 함수에 대해 특정 참조 값이 있습니다. 이제 필요한 친구들이 참조할 수 있습니다. 19: array_file 정보, 범위 함수
array_fill
(PHP 4 >= 4.2.0, PHP 5)
array_fill — 주어진 값으로 배열을 채웁니다
array array_fill ( int start_index, int num, 혼합 값 )
array_fill( ) start_index 매개변수에 의해 지정된 키부터 시작하여 value 매개변수의 값으로 num 항목으로 배열을 채웁니다. num은 0보다 큰 숫자여야 합니다. 그렇지 않으면 PHP가 경고를 발행합니다.
start_index 매개변수의 경우 문자열, 정수 또는 부동 소수점 유형만 가능합니다.
소스 코드는 다음과 같습니다.switch (Z_TYPE_PP(start_key)) {case IS_STRING:case IS_LONG:case IS_DOUBLE: ....... convert_to_long_ex(start_key); ......}
프로그램은 먼저 return_value에 첫 번째 값을 할당한 다음 num을 1회 반복합니다. 이 값에 refcount를 추가하면 return_value
range
(PHP 3 >= 3.0.8, PHP 4, PHP 5)
range의 해시 테이블에 추가됩니다. — 지정된 셀 범위를 포함하는 배열을 만듭니다
배열 범위(낮음 혼합, 높음 혼합 [, 숫자 단계] )
range()는 자신을 포함하여 배열의 낮은 값에서 높은 값으로 셀을 반환합니다. 낮음 > 높음인 경우 순서는 높음에서 낮음으로 이동합니다.
새 매개변수: 선택적 단계 매개변수가 PHP 5.0.0에 새로 추가되었습니다.
걸음값이 주어지면 단위 간 걸음값으로 사용됩니다. 단계는 긍정적이어야 합니다. 지정하지 않으면 단계의 기본값은 1입니다.
코드에서 볼 수 있듯이 이 함수는 문자 배열, 부동 소수점 배열 및 정수 배열만 지원하고 증가 및 감소 형태를 모두 지원합니다(버전 4.0.1 이후에만 사용 가능)
문자 배열을 예로 들어보세요:if (Z_TYPE_P(zlow) == IS_STRING && Z_TYPE_P(zhigh) == IS_STRING && Z_STRLEN_P(zlow) >= 1 && Z_STRLEN_P(zhigh) >= 1) { int type1, type2; unsigned char *low, *high; long lstep = (long) step; type1 = is_numeric_string(Z_STRVAL_P(zlow), Z_STRLEN_P(zlow), NULL, NULL, 0); type2 = is_numeric_string(Z_STRVAL_P(zhigh), Z_STRLEN_P(zhigh), NULL, NULL, 0); if (type1 == IS_DOUBLE || type2 == IS_DOUBLE || is_step_double) { goto double_str; } else if (type1 == IS_LONG || type2 == IS_LONG) { goto long_str; } convert_to_string(zlow); // 转化为字符串,此函数的实现在zend_operators.c的536行:ZEND_API void _convert_to_string(zval *op ZEND_FILE_LINE_DC) convert_to_string(zhigh); low = (unsigned char *)Z_STRVAL_P(zlow); // 当所给字符串长度大于1时,取第一个字符 high = (unsigned char *)Z_STRVAL_P(zhigh); if (*low > *high) { // 递减数组 if (lstep <= 0) { err = 1; goto err; } for (; *low >= *high; (*low) -= (unsigned int)lstep) { add_next_index_stringl(return_value, low, 1, 1); if (((signed int)*low - lstep) < 0) { break; } } } else if (*high > *low) { // 递增数组 if (lstep <= 0) { err = 1; goto err; } for (; *low <= *high; (*low) += (unsigned int)lstep) { add_next_index_stringl(return_value, low, 1, 1); if (((signed int)*low + lstep) > 255) { // 只支持ASCII的255个字符 break; } } } else { // 开始和结束相等,则只返回包含一个元素的数组 add_next_index_stringl(return_value, low, 1, 1);}
부동소수점과 정수의 처리는 기본적으로 비슷하고, 해시테이블을 작성하는 방식만 다릅니다
부동소수점형은 add_next_index_double을 사용합니다
정수형은 add_next_index_long을 사용합니다
위 내용이 이 글의 전체 내용이길 바랍니다. 모든 사람의 학습에 도움이 될 것입니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트에 주목하세요!
관련 추천:
PHP 소스 코드에 대해 이야기하기 18: array_diff_key, array_diff_assoc, array_udiff_assoc에 대해 함수 PHP 소스 코드 16에 대한 간략한 토론: array_count_values 함수에 대하여위 내용은 PHP 소스 코드에 대한 간략한 토론 19: array_file, range 함수에 대하여의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python中range()是一个内置函数,用于生成一个整数序列,其基本语法为“range(start, stop[, step])”,其中,start表示序列的起始值(可以省略,默认为0),stop表示序列的结束值(必须指定),step表示序列中相邻两个数之间的步长(可以省略,默认为1)。

Python函数介绍:range函数的介绍及示例Python是一种广泛应用于各种领域的高级编程语言,它具有简单易学的特点,并且有着丰富的内置函数库。其中,range函数是Python中常用的一个内置函数之一。本文将详细介绍range函数的功能以及使用方法,并通过实例来演示其具体的应用。range函数是用来生成一个整数序列的函数,它接受三个参数,分别是起始值(

使用Python的range()函数生成指定范围的数字序列在Python编程中,很常见的一个需求是生成一系列数字序列。这些数字可以用于迭代、循环、索引等各种操作。为了满足这个需求,Python提供了一个非常方便的内置函数range()。range()函数的语法如下:range(start,stop,step)其中,start表示起始值(可选,默认为0),

PHP源码运行问题:index报错解决方法,需要具体代码示例PHP是一种广泛使用的服务器端脚本语言,经常被用于开发动态网站和Web应用程序。然而,有时候在运行PHP源码时会遇到各种问题,其中“index报错”是比较常见的一种情况。本文将介绍一些常见的index报错原因以及解决方法,并提供具体的代码示例,帮助读者更好地处理这类问题。问题描述:在运行PHP程序时

Python函数介绍:range函数的功能和使用示例Python是一种优美、易读、易写的面向对象编程语言,拥有丰富而强大的函数库。其中,range()函数是Python内置函数之一,常用于生成一系列数字,常用形式为:range(start,stop[,step])。range函数的功能:range()函数可以用来生成一个整数序列,一般形式为range(

range()函数创建一个包含一系列元素的数组。它返回从开始到结束的元素。语法range(start,end,step)参数start-第一个值end-最后一个值step-范围中的增量返回值range()函数返回从start到end的元素。示例以下是一个示例- LiveDemo<?php$number=range(0,12,3);print_r($number);?>输出以下是输出-Array([0]=>0[1]=>3[2]=>6[3]=>9

Python是一门功能强大的编程语言,它提供了许多便捷的工具和函数来帮助我们更加高效地编写代码。其中一个常用的函数是range()函数,它用于生成一个整数序列,非常方便我们进行循环迭代或者生成列表。本文将重点介绍如何在Python2.x中使用range()函数来生成整数序列,并给出一些代码示例。range()函数在Python2.x中


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

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

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

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