1,4=>1.1,3=>5,7=>'abc',0=>true);")."/> 1,4=>1.1,3=>5,7=>'abc',0=>true);").">

>백엔드 개발 >PHP 문제 >PHP에서 배열 첨자는 연속되어야 합니까?

PHP에서 배열 첨자는 연속되어야 합니까?

青灯夜游
青灯夜游원래의
2022-10-14 18:39:362084검색

PHP 배열 첨자는 연속되지 않을 수 있습니다. PHP에서 배열의 첨자는 정수 또는 문자열일 수 있습니다. 배열 요소의 순서는 첨자가 아니라 "결합"되는 순서에 따라 결정됩니다. PHP 배열의 첨자는 순서나 연속성 없이 임의로 설정할 수 있습니다. 예를 들어 "array(2=>1,4=>1.1,3=>5,7=>'abc',0=> 진실); ".

PHP에서 배열 첨자는 연속되어야 합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

배열 기본 사항:

PHP에서 배열의 아래 첨자는 정수 또는 문자열이 될 수 있습니다.

PHP에서 배열 요소의 순서는 첨자가 아니라 "결합" 순서에 따라 결정됩니다.

정의:

$arr = array(元素1,元素2,...);

예 1:

$arr1 = array(1,1.1,5,'abc',true,false); //可以存储任何数据,此时为默认下标
$arr2 = array(2=>1,4=>1.1,3=>5,7=>'abc',0=>true); //下标可任意设定(无需顺序,无需连续)
$arr3 = array(2=>1,1.1,1=>5,'abc',0=>true); //可以加下标,也可以不加,不加下标则为默认下标

//默认下标规则:前面已经用过的最大数字下标+1
//这个数字的下标分别是:2,3,1,4,0

PHP에서 배열 첨자는 연속되어야 합니까?

예 2:

$arr1 = array(2=>1,'dd'=>5,1=>1.1,'abc',0=>true); //混合下标,同样遵循默认下标规则
$arr2 = array(-2=>1,'dd'=>5,1.1,'abc',true); //负数下标不算在整数下标中,而只当作字符下标
//则这个数组最后三项的下标为:0,1,2

PHP에서 배열 첨자는 연속되어야 합니까?

예 3:

$arr1 = array(2.7=>1,'dd'=>5,1=>1.1,'abc',true); //浮点数下标会自动转换为整数,且直接去掉小数部分
$arr2 = array("2.7"=>1,'dd'=>5,"11"=>1.1,'abc',true); //纯数字字符串下标,当作数字看待
$arr3 = array(2=>1,'dd'=>5,true=>1.1,'abc',false=>true); //布尔值当作下标,则true为1,false为0
$arr4 = array(2=>1,'dd'=>5,2=>1.1,'abc',true); //如果下标跟前面的重复,则单纯覆盖前面同名下标的值

PHP에서 배열 첨자는 연속되어야 합니까?

다른 형태의 배열 정의:

$arr1[] = 1;
$arr1[] = 5;
$arr1[] = 1.1;
......  //直接在变量后面使用[],就成为数组,并依次赋值

PHP에서 배열 첨자는 연속되어야 합니까?

$arr2['aa'] = 1;
$arr2['bb'] = 5;
$arr2[5] = 1.1;

......  //这种形式写的下标,其实跟使用array语法结构几乎一样

PHP에서 배열 첨자는 연속되어야 합니까?

배열 분류:

키-값 관계에서 ,

  • 연관 배열: 일반적으로 아래 첨자가 문자열인 배열을 나타내며, 문자열은 대략적으로 데이터의 의미를 표현할 수 있습니다. 예:

    $person = array("name" => "poe", "age" => 18, "edu" => "大学毕业");
    인덱스 배열: 일반적으로 첨자가 0부터 시작하는 연속적인 숫자 첨자를 엄격하게 따르는 배열을 나타냅니다. js 배열과 유사합니다.
배열 수준으로 구분됩니다.

    1차원 배열: 배열의 각 요소 값은 공통 값입니다( 배열이 아닌 값)
  • 예:

    $person = array("name" => "poe", "age" => 18, "edu" => "大学毕业");
    2차원 배열: 배열의 각 항목도 1차원 배열입니다.
  • $person = array(
    "name" => array("xiaohua","xiaofang),
    "age" => array(18,22),
    "edu" => array("大学毕业","小学",)
    );
    다차원 배열 등. . .
  • 다차원 배열의 일반적인 구문 형태:

    $v1 = 数组名[下标][下标][......]

배열 순회:

순회 기본 구문:

foreach($arr as [$key =>] $value) {
//这里就可以对$key and $value进行所有可能的操作 -- 因为他们就是一个变量
//$key代表每次取得元素的下标,可能是数字,也可以是字符串
//$value代表每次取得元素的值,可能是各种类型
//此循环结构会从数组的第一项一直遍历到最后一项,然后结束
}

배열 포인터 및 순회 원리:

모든 어레이에는 내부 배열이 현재 평가될 때 얻은 요소를 결정하는 "포인터"가 있습니다. foreach 순회 프로세스는 이 포인터에 의존합니다.

예:

$arr1 = array(2=>1,'dd'=>5,1=>1.1,'abc',0=>true);

foreach 루프의 위치 설정을 담당하는 것 외에도 포인터에 의존하는 다른 함수도 있습니다.

1: $v1 = current($arr1); code> / /$arr1에서 현재 포인터가 가리키는 요소의 값을 가져옵니다. 가리키는 요소가 없으면 false입니다

2: $v1 = key($arr1); //$arr1의 현재 포인터가 가리키는 값을 가져옵니다. 요소의 첨자 . . . . . . . . . . . . .

3:$v1 = next($arr1); //포인터를 "다음 요소"로 이동한 후 다음 요소의 값을 가져옵니다$v1 = current($arr1);    //取得$arr1中当前指针指向的元素的值,如果没有指向元素,则为false

2:$v1 = key($arr1);        //取得$arr1中当前指针指向的元素的下标,。。。。。。。。。。。。。

3:$v1 = next($arr1);       //将指针移向“下一个元素”,然后取得该下一个元素的值

4:$v1 = prev($arr1);       //将指针移向“上一个元素”,然后取得该上一个元素的值

5:$v1 = reset($arr1);      //将指针移向“第一个元素”,并取得该元素的值

6:$v1 = end($arr1);        //将指针移向“最后一个元素”,并取得该元素的值

7:$v1 = each($arr1);

4:$v1 = prev($arr1); //포인터를 "이전 요소"로 이동한 다음 이전 요소의 값을 가져옵니다

5:$v1 = Reset($arr1); code> //포인터를 "첫 번째 요소"로 이동하고 해당 요소의 값을 가져옵니다

6:$v1 = end($arr1); //포인터를 "마지막 요소"로 이동 " , 요소의 값을 가져옵니다🎜🎜7: $v1 = Each($arr1); //현재 요소의 아래 첨자와 값을 가져온 후 포인터를 다음 위치로 이동합니다. 🎜🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 PHP에서 배열 첨자는 연속되어야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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