PHP에서 연관 배열은 키 이름이 문자열이거나 문자열과 숫자의 혼합인 배열입니다. 배열의 키 이름이 숫자가 아닌 경우 배열은 연관 배열입니다. 연관 배열의 키 이름은 정수 또는 문자열일 수 있습니다. 키 이름이 문자열인 경우 작은따옴표 "''" 또는 큰따옴표 """"와 같이 키 이름에 구분 수정자를 추가해야 합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
배열의 각 엔터티에는 키와 값이라는 두 가지 항목이 포함되어 있습니다. 해당 배열 요소는 키 값으로 얻을 수 있습니다. 이러한 키는 숫자 키 또는 연관 키일 수 있습니다. 변수가 단일 값을 저장하는 컨테이너라면 배열은 여러 값을 저장하는 컨테이너입니다.
배열은 다양한 유형의 데이터를 저장할 수 있으며 복합 데이터 유형입니다. 데이터 구조는 다음과 같습니다.
PHP 배열에는 어떤 유형의 키 이름이든 그에 해당하는 값, 즉 데이터 유형에 따라 키/값 쌍이 있습니다. 배열 키 이름을 입력하면 PHP 배열은 두 가지 유형으로 나뉩니다.
숫자를 키로 사용하는 배열, 즉 인덱스 배열(인덱스 배열)
문자열 또는 문자열과 숫자가 혼합된 배열 키, 즉 연관 배열(Associative Array)로 사용됩니다.
PHP 연관 배열
연관 배열의 첨자(키 이름)는 숫자 값과 문자열의 혼합으로 구성됩니다. 배열의 키 이름이 숫자가 아닌 경우 배열은 연관 배열입니다.
<?php header("Content-type:text/html;charset=utf-8"); echo "索引数组:"; $arr1 = array('0' => '苹果','1' => '香蕉','2' => '橘子','3' => '李子','4' => '草莓'); var_dump($arr1); echo "关联数组:"; $arr2 = array('Apple' => '苹果','Banana' => '香蕉','Orange' => '橘子','Plum' => '李子','Strawberry' => '草莓'); var_dump($arr2); $arr3 = array('苹果','香蕉','橘子','Plum' => '李子','草莓'); var_dump($arr3); ?>
연관 배열의 키 이름은 정수 또는 문자열일 수 있습니다. 키 이름이 문자열인 경우 키 이름에 구분 수정자(작은따옴표 ''
또는 큰따옴표 ""
)를 추가합니다. 인덱스 배열의 경우 혼동을 피하기 위해 구분 기호도 추가하는 것이 가장 좋습니다. ''
或双引号""
。对于索引数组,为了避免混清,最好也加上定界符。
注:键名不可以为NULL
。
扩展知识:索引数组和关联数组可以相互转换
1、关联数组转为索引数组
array_values()函数的作用是返回数组中所有元素的值
array_values(array)
使用起来非常简单,只有一个必选参数,就可以返回一个包含给定数组中所有值的数组,但不保留键名。被返回的数组将使用索引数组的形式,数组的索引从 0 开始且以 1 递增。
简单来说,利用该函数可以重置数组键名,将字符串或数值混乱的键名转为从0开始且以1递增的数字键名。
array_values() 函数特别适合用于数组中元素下标混乱的数组(可重置数字键),或者用于将关联数组转化为索引数组。
<?php header('content-type:text/html;charset=utf-8'); $arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90,2,3,4); echo "原数组:"; var_dump($arr); $res=array_values($arr); echo "转为索引数组后:"; var_dump($res); ?>
2、索引数组转为关联数组
array_combine()函数通过合并两个数组的方式创建了一个新数组,其中$keys
数组中的元素作为了新数组的键名,$values
数组的元素为作为了新数组的键值。
array_combine($keys,$values)
但需要注意的是,使用array_combine()函数创建数组时,$keys
数组和$values
数组中的元素个数必须要一致,这才能让键名和键值一一对应,否则就会报错并返回 FALSE。
且$keys
数组不可为多维数组,否则也会报错;但$values
NULL
일 수 없습니다.
확장된 지식: 인덱스 배열과 연관 배열은 서로 변환될 수 있습니다
🎜🎜1. 연관 배열을 인덱스 배열로 변환🎜🎜🎜array_values() 함수는 array🎜<?php header("Content-type:text/html;charset=utf-8"); $keys=array("a","b","c","d"); $values=array("red","green","blue","yellow"); var_dump($keys); var_dump($values); echo "使用array_combine()合并数组后:"; var_dump(array_combine($keys,$values)); ?>🎜사용하기 매우 간단합니다. 필수 매개변수가 하나만 있으면 주어진 배열의 모든 값을 포함하지만 키는 유지하지 않고 배열을 반환합니다. 반환된 배열은 배열 인덱스가 0에서 시작하여 1씩 증가하는 인덱스 배열 형식입니다. 🎜🎜간단히 말하면 이 함수를 사용하면 배열 키 이름을 재설정하고 혼동되는 문자열이나 숫자 값이 있는 키 이름을 0부터 시작하여 1씩 증가하는 숫자 키 이름으로 변환할 수 있습니다. 🎜🎜array_values() 함수는 혼란스러운 요소 첨자(재설정 가능한 숫자 키)가 있는 배열이나 연관 배열을 인덱스 배열로 변환하는 데 특히 적합합니다. 🎜rrreee🎜🎜🎜 🎜2. 인덱스 배열을 연관 배열로 변환🎜🎜🎜array_combine() 함수는 두 배열을 병합하여 새 배열을 생성합니다. 여기서
$keys
배열의 요소는 새 배열의 키 역할을 합니다. $values
배열의 요소는 새 배열의 키 값 역할을 합니다. 🎜rrreee🎜하지만 array_combine() 함수를 사용하여 배열을 생성할 때 $keys
배열과 $values
배열의 요소 수는 다음과 같아야 합니다. 키 이름과 키 값이 일대일로 일치하도록 일관성을 유지하세요. 그렇지 않으면 오류가 보고되고 FALSE가 반환됩니다. 🎜🎜그리고 $keys
배열은 다차원 배열이 될 수 없습니다. 그렇지 않으면 오류가 보고되지만 $values 배열은 다차원 배열이 될 수 있습니다. 🎜rrreee🎜🎜🎜🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜위 내용은 PHP의 연관 배열이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!