2차원 배열 > php

본문 바로가기
사이트 내 전체검색

php

2차원 배열

페이지 정보

작성자 서방님 댓글 0건 조회 65회 작성일 12-05-15 16:12

본문

배열 입니다. 배열은 가장 중요한 기본 이기도 하구요. 왼쪽에 PHP메뉴얼에도 있구요.

변수 는 집..
배열은 아파트 1채
2차원 배열은 아파트 10동 으로 생각 하시면 됩니다 ^^

2차원 배열은 한진 아파트 1동에 101 호 처럼 2개를 사용합니다.
아파트 그림 그려 보세용 ^^  멋진 아파트가 떠오른다...떠오른다....ㅋㅋㅋ


한진 아파트 1동에 101호에는 투덜이가 살고,
한진 아파트 1동에 201호에는 투덜걸즈가 살고,
한진 아파트 2동에 101호에는 곰팅님이 살고,
한진 아파트 2동에 201호에는 피비린내님이 산다면요...그 걸 PHP로 표현 한다면 아래 처럼 되겟죠 ^^

$hanjin[1][101]="투덜이";
$hanjin[1][201]="투덜걸즈";
$hanjin[2][101]="곰팅";
$hanjin[2][201]="피비린내";


array() 로 표현 할  수도 있구요 ^^

아래 예제를 여러번 테스트 해보시면 list() 와 foreach() 와 2차원 배열에 대해서 빠삭하게 아실 수
있을 것 입니다. ^^


그렇다면 3차원 배열은 멀 생각 해야 할까요 ?
ㅋㅋㅋ

---------------------------------------------------------------------
array() 를 사용하여 2차원 배열을 사용하는 예 입니다.
아래 예는

$users[ ][ ]=" ";
로 설정 한 것과 같죠 ^^

<?
//=====================================================
// 2차원 배열 사용하기 !
// made by tood.net  2001년 12월 17일 이른 새벽
//=====================================================

$users = array( 
    
"이영무 광성고 전산부 KSCC 92"=> array( 
        
"이름" => "이영무"
        
"주소" => "서울"
        
"나이" => "30"
        
"몸무게" => "68" 
    
), 

    
"육철호 신상명세" => array( 
        
"이름" => "육철호"
        
"주소" => "인천"
        
"나이" => "33"
        
"몸무게" => "76" 
    
)
);

while ( list(
$username, $subarray) = each($users) ) { 
    echo
" ** 이름: $username: "
    echo
"<P>"

    while ( list(
$key, $val) = each($subarray) ) { 
        echo
"<br> $key : $val\n"
    } 
    echo
"<P>";
}
?>


list(키,값)=each(배열)

배열 값을 받아서 키와 값으로 분리하는 것임다.
$a[3]="ddd";
여기서 3 이 키고, ddd 가 값이죠 ^^
list 로 검색해보세용 ^^
아래가 기본 2차원 배열 입니당 ^^
위랑 출력은 동일 합니당..
★ 만 붙였을 뿐...ㅋㅋㅋ


<?
//=====================================================
// 2차원 배열 사용하기 !  ◆ 2번째 예제
// made by tood.net  2001년 12월 17일 이른 새벽
//=====================================================

$users["이영무 신상명세"]["이름"]="이영무★";
$users["이영무 신상명세"]["주소"]="서울★";
$users["이영무 신상명세"]["나이"]="30★";
$users["이영무 신상명세"]["몸무게"]="68★";
$users["육철호 신상명세"]["이름"]="육철호★";
$users["육철호 신상명세"]["주소"]="인천★";
$users["육철호 신상명세"]["나이"]="33★";
$users["육철호 신상명세"]["몸무게"]="76★";

while ( list(
$username, $subarray) = each($users) ) { 
    echo
" ** 이름: $username: "
    echo
"<P>"
    while ( list(
$key, $val) = each($subarray) ) { 
        echo
"<br> $key : $val\n"
    } 
    echo
"<P>";
}

// foreach() 로 변경 한다면 ?
foreach($users as $username=>$subarray){
    echo
" ** 이름: $username: "
    echo
"<P>"
    foreach(
$subarray as $k=>$v){    
        echo
"<br> $k : $v\n";
    }
    echo
"<P>";
}
?>

<?
//=====================================================
// 2차원 배열 사용하기 ! 3번째 예제 ◆
// made by tood.net  2001년 12월 17일 이른 새벽
//=====================================================

$users[0][]="이영무";
$users[0][]="서울";
$users[0][]="30";
$users[0][]="68";

/* 아래 처럼 하면 자동 할당 되지 않는다.!!
$users[][]="이영무";
$users[][]="서울";
$users[][]="30";
$users[][]="68";
*/

$users[1][]="육철호_2";
$users[1][]="인천_2";
$users[1][]="33_2";
$users[1][]="76_2";

foreach(
$users as $username=>$subarray){
//     echo "<br> $username:  \n";
    
foreach($subarray as $k=>$v){    
        echo
"<br>[$username][$k] : $v\n";
    }
    echo
"<P>";
}
?>

<?
//=====================================================
// 2차원 배열 사용하기 ! 4번째 예제 ☆◆
// made by tood.net  2001년 12월 17일 이른 새벽
//=====================================================
$users[0][0]="이영무";
// 배열은 큰따옴표 안에서 파싱 되지 않는다 !!!★ 아래는 작동 하지 않는다.
// echo " $users[0][0] ★<P>";
$users[0][]="서울";
$users[0][]="30";
$users[0][]="68";

/* 아래 처럼 하면 자동 할당 되지 않는다.!!
$users[][]="이영무";
$users[][]="서울";
$users[][]="30";
$users[][]="68";
*/

$users[1][]="육철호_2";
$users[1][]="인천_2";
$users[1][]="33_2";
$users[1][]="76_2";

if (is_array($users)){    // 배열 값이 있는지 체크 , 있을 경우만 !
    
foreach($users as $username=>$subarray){
         echo
"<br> $username:  <br>";
         echo
$users[$username][0]."<br>";
         echo
$users[$username][1]."<br>";
         echo
$users[$username][2]."<br>";
         echo
$users[$username][3]."<br>";
    echo
"<P>";
    }
}
?>


◆중요사항 ◆
1. 배열은 큰따옴표 안에서 파싱 되지 않는다 !!!★ 아래는 작동 하지 않는다.
// echo " $users[0][0] ★<P>";
2. define 으로 정의된 상수도 큰따옴표 안에서 파싱 되지 않는다. !!
3. list() 와 foreach()의 속도는 foreach() 가 35% 정도 빠르다 !!!

추가해서리..

===============================================================

배열에서 08을 0으로 출력하는 경우 자주 발생 !
08,09 일 경우만 0으로 출력이 된다. 왜 일까요 ?
아래 처럼 따옴표(')를 씌워 주어야 한다.

<?php
$b
=array(07, '08', '09');
sort($b);
foreach(
$b as $v){
    
$v=(int)$v;
    print
$v.",";
}
?>

===============================================================
if(strcmp($key,$io)==0){// 문자열 비교 if($a==$b) 안될 수 있다. 
            print "$key $io : ";
            print $v1."<br>";
        }
===============================================================

<?php
$b
=array(07, '08', '09','abc','kscc');
kp($b);

function
kp($b){
    
sort($b);
    foreach(
$b as $v){
        print
$v." ";
    }
}
print
"sdds";
?>

===============================================================

주소(URL)에 배열 넘기기
<?php
// http://localhost/test/all.php?x[]=55&x[]=44&x[]=233
print_r($_GET);
?>

또는
http://php.net/serialize
http://php.net/unserialize

 

출처 : 투덜스 넷

댓글목록

등록된 댓글이 없습니다.

Total 612건 33 페이지
php 목록
번호 제목 글쓴이 조회 날짜
132 서방님 93 07-18
131 서방님 188 07-18
130 서방님 186 07-18
129 서방님 126 07-18
128 서방님 122 07-17
127 서방님 64 07-17
126 서방님 0 07-10
125 서방님 70 07-03
124 서방님 70 06-22
123 서방님 99 06-14
122 서방님 75 06-14
121 서방님 109 06-13
120 서방님 0 06-05
119 서방님 116 05-31
열람중 서방님 66 05-15
게시물 검색

회원로그인

접속자집계

오늘
17
어제
302
최대
1,347
전체
155,078
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.