> 백엔드 개발 > PHP 튜토리얼 > PHP 학습이 공식적으로 출발합니다 (3)

PHP 학습이 공식적으로 출발합니다 (3)

黄舟
풀어 주다: 2023-03-04 11:32:01
원래의
963명이 탐색했습니다.

이제 배열에 대해 이야기해 보겠습니다
PHP 배열에는 3가지 유형이 있습니다

숫자 배열 숫자 ID 키가 있는 배열
연관 배열 배열의 각 ID 키는 값과 연결됩니다
다차원 배열 하나 이상의 배열을 포함하는 배열

배열에 대한 선언

<?php
$a[5];
$a[5]={1,2,3,4,5};
?>
로그인 후 복사

C 언어와 같은 기존의 2가지 유형은 PHP에서 작동하지 않습니다

PHP 배열을 정의하는 데 사용되는 키워드 array

<?php
$a=array();
?>
로그인 후 복사
이것은 빈 배열을 정의합니다. 내부 요소는 동적으로 추가될 수 있습니다. 있는 만큼 크고 계속해서 추가할 수 있는데, 정말 멋지네요


<?php
$a=array();
echo $a;
?>
로그인 후 복사
이런 식으로 a 유형을 인쇄하면 결과는 배열이 됩니다


그러나 이 경우에는 배열이 비어 있기 때문에

<?php
$a=array();
echo $a[0];
?>
로그인 후 복사
오류가 보고됩니다.


배열을 정의하는 방법에는 크게 두 가지가 있는데, 하나는 배열을 사용하는 것입니다

<?php
$a=array(1,2,3,4,5);
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
로그인 후 복사
count 키워드는 배열에 몇 개의 요소가 있는지 계산할 수 있습니다


또 다른 방법은 변수 첨자에 직접 값을 할당하는 것이며, 변수는 자동으로 배열이 됩니다

그러나 값은 아래 첨자 순서로 할당해야 합니다

예를 들어 이것은 잘못된 것입니다
<?php
$a[0]=&#39;a&#39;;
$a[1]=&#39;b&#39;;
$a[2]=&#39;c&#39;;
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
로그인 후 복사



또한 배열의 요소는 동일한 유형이 아닐 수 있습니다

<?php
$a[0]=&#39;a&#39;;
$a[1]=&#39;b&#39;;
$a[2]=&#39;c&#39;;
$a[5]=&#39;d&#39;;
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
로그인 후 복사
매우 강력하다고 생각하지 않나요?


이제 연관 배열에 대해 이야기해 보겠습니다.
<?php
$a=array(1,&#39;b&#39;,"hello",1.0);
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
로그인 후 복사
연관 배열은 일반 배열보다 더 강력합니다. 아래 첨자에 숫자를 사용할 필요는 없지만 직접 이름을 지정할 수 있습니다.

이것은 Java의 맵과 매우 유사한 키-값 관계입니다**



참고 => ->가 아니며, 내부의 작은따옴표와 큰따옴표를 서로 바꿀 수 있습니다.
키 바꾸기 => 값 키를 반복할 수 있지만 결과는 마지막 하나를 표시합니다.

<?php
$a=array("a"=>1,&#39;b&#39;=>2,"c"=>3);
echo $a["a"]."<br/>";
echo $a[&#39;b&#39;]."<br/>";
echo $a["c"]."<br/>";
?>
로그인 후 복사

print 2 3

위에서 언급한 연관배열의 정의도 있습니다 합격

<?php
$a=array("a"=>1,&#39;a&#39;=>2,"c"=>3);
echo $a["a"]."<br/>";
echo $a["c"]."<br/>";
?>
로그인 후 복사


그런데 다음은 틀렸습니다

<?php
$a["a"]="hello";
$a["b"]="world";
echo $a["a"]."<br/>";
echo $a["b"]."<br/>";
?>
로그인 후 복사
또한 숫자를 키로 사용할 수도 있습니다


<?php
$a["a"]=>"hello";
$a["b"]=>"world";
echo $a["a"]."<br/>";
echo $a["b"]."<br/>";
?>
로그인 후 복사


는 따옴표 없이 출력할 수 있지만 PHP에는 이를 사용하지 말라는 메시지가 있습니다.

<?php
$a["1"]="hello";
$a["2"]="world";
echo $a["1"]."<br/>";
echo $a["2"]."<br/>";
?>
로그인 후 복사


다차원 배열에 대해 이야기해 보겠습니다.
다차원 배열에서는 배열의 각 요소도 배열입니다. 하위 배열의 각 요소는 배열이 될 수도 있습니다.

이는 다차원 배열, 2차원
<?php
$a[&#39;a&#39;]="hello";
$a[&#39;b&#39;]="world";
echo $a[a]."<br/>";
echo $a [ b ]";
?>
로그인 후 복사



C에서 보면 이를 정의합니다. 언어는 단지 [2][3]일 뿐이며 배열에 몇 차원이 있는지는 중요하지 않습니다
마찬가지로 다차원 배열의 요소도 여러 유형일 수 있습니다
이것도 이렇게

<?php
$a=array(array(&#39;a&#39;,1,2),array("hello",3,1.1,));
echo $a[0][0];
?>
로그인 후 복사


각 하위 배열의 요소 개수가 같을 필요는 없어 C 언어보다 좋습니다.

일반 배열과 마찬가지로, 다차원 배열도 이런 식으로 정의할 수 있지만 누구도 이렇게 할 것이라고는 생각하지 않습니다. .

<?php
$a=array(array(&#39;a&#39;,1,2),array("hello",3,1.1,2,&#39;a&#39;));
echo $a[0][0];
?>
로그인 후 복사


이 2차원 배열은 2개의 행과 4개의 열로 구성된 a[2][4]입니다. 이는 매우 규칙적입니다.
열의 요소 수만 유의하세요. 루프를 사용하여 인쇄할 수 있으며 C 언어에서는 이 문장을 고려할 필요가 없습니다

다차원 연관 배열을 정의할 수도 있습니다
<?php
$a[0][0]="hello00";
$a[0][1]="hello01";
$a[0][2]="hello02";
$a[0][3]="hello03";
$a[1][0]="hello10";
$a[1][1]="hello11";
$a[1][2]="hello12";
$a[1][3]="hello13"; 
for($i=0;$i<2;$i++){
for($j=0;$j<4;$j++)
echo $a[$i][$j]." "; echo "<br/>";
}
?>
로그인 후 복사




가 hello를 인쇄합니다.
연관관계 때문에 좀 어지러워 보이는데
이렇게 할 필요는 없고 다음과 같이 하면 훨씬 더 명확해집니다.

<?php
$a=array(&#39;a&#39;=>array(&#39;a&#39;=>"hello",&#39;b&#39;=>"world"),&#39;b&#39;=>array(&#39;one&#39;=>1,&#39;two&#39;=>2,&#39;three&#39;=>3)); 
echo $a[&#39;a&#39;][&#39;a&#39;]; 
?>
로그인 후 복사


출력해 보세요.

<?php
$a=array(&#39;a&#39;=>array("hello","world"),&#39;b&#39;=>array(1,2,3)); 
echo $a[&#39;a&#39;][0]."<br/>".$a[&#39;b&#39;][2]; 
?>
로그인 후 복사
절대 이런 식으로 놀지 마세요


hello
3
로그인 후 복사
틀렸습니다


<?php
$a=array(array(&#39;a&#39;=>"hello",&#39;b&#39;=>"world"),array(&#39;one&#39;=>1,&#39;two&#39;=>2,&#39;three&#39;=>3)); echo $a[&#39;a&#39;]; ?>
로그인 후 복사

제가 언급한 내용은 위는 모두 2차원 배열이므로 3차원 이상을 정의하는 방법은 매우 간단합니다



인쇄 1

<?php
$a=array(array(array(1,2,3))); 
echo $a[0][0][0]; 
?>
로그인 후 복사

4판

<?php
$a=array(array(array(1,2,3)),array(array(4,5,6))); 
echo $a[1][0][0]; 
?>
로그인 후 복사

5판

보시고 어지러우신 분들도 계시겠지만

지금 분석해 보겠습니다
<?php
$a=array(array(array(1,2,3),array(4,5,6)),array(array(7,8,9))); 
echo $a[0][1][1]; 
?>
로그인 후 복사
예를 들어 $a [0][1][1]; 가장 오른쪽 대괄호 안의 요소는 배열의 가장 안쪽 요소를 나타냅니다.

$ a=array(array(array(1,2,3),array(4,5,6) )),array(array(7,8,9)));
최대 3개의 레이어로 나누어지며, 가장 오른쪽이 가운데 레이어입니다. 괄호 안의 요소는 가장 안쪽 레이어
를 나타내며, 왼쪽의 대괄호는 외부 레이어를 의미하며

사실 여러 레이어가 여러 차원 배열로 나누어져 있다는 것을 좀 더 살펴보면 이해하실 수 있습니다.
게다가, 3차원 배열에 대해 너무 많이 알 필요는 없습니다. 일반적으로 2차원 배열을 마스터할 수 있습니다.

앞에서는 foreach 루프에 대해 자세히 언급하지 않았습니다. 사실 foreach 루프를 사용하는 것이 가장 좋습니다. 1차원 배열 순회




출력

<?php
$a=array(1,"hello",&#39;a&#39;); 
foreach($a as $value)
echo $value."<br/>"; 
?>
로그인 후 복사
아주 간단하지 않나요?

$value는 임시 값일 뿐입니다. 배열 요소를 저장하는 데 사용되는 변수, 원하는 대로 이름을 지정할 수 있습니다
프록시 변수에 배열을 제공하고 출력을 돕도록 하는 것과 같습니다

1
hello
a
로그인 후 복사




이렇게 하면 배열 요소가 출력되지 않습니다
출력만 됩니다

<?php
$a=array(1,"hello",&#39;a&#39;); foreach($a as $value)
echo $a."<br/>"; ?>
로그인 후 복사

위 내용은 정식으로 시작되는 PHP 학습 내용입니다(3). PHP 중국어 웹사이트(www.php.cn)를 주목하세요!

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