php 배열 관련

Posted by Albert 4056Day 15Hour 27Min 21Sec ago [2014-03-12]

[배열변수의 각각 배열값을 출력하는 방법]

 

변수에 배열을 넣는 방법에는 3가지가 있다.

 

$array=array("11","22","33");  이나

 

$array[0]="11";

$array[1]="11"; 이나

 

$array[]="11";

$array[]="11"; 이나

 

인덱스값(1, "lee1")을 명시적으로 줄수 있다.

 

$trans = array(1 => 11, 2 => 22, 3 => 33);

$trans = array("lee1" => 11, "lee2" => 22, "lee3" => 33);

 

※ echo $array하면 화면에 array라고 나온다. 이는 배열변수는 배열이기때문이다.

문자열이 아니기 때문이다. 일반변수로 나누어서 사용해야 제대로 값이 나오기 때문이다.

 

※ 배열변수의 인덱스값은 명시하지 않으면 0부터 시작됩니다.

 

[배열변수 출력하는법]

 

foreach($array as $key => $value) echo $value;

 

while(list($value, $label) = each($array)) echo $label;

 

for($a=0;$a<count($array);$a++) echo $array[$a];

print_r($array);

 

[배열변수에 사용하는 함수들]

 

$value=min($array);//배열중에서 가장 큰수찾기

$value=array_sum($array);//배열중에서 가장 큰수찾기

$value=max($array);//배열중에서 가장 큰수찾기

$value=array_search("12",$array);//값으로 키찾기

$array=array_flip($array);//모든 키와 값을 바꾼다.

sort($array);//작은수부터(순서대로 첨자가 바뀝니다.)

rsort($array);//큰수부터(순서대로 첨자가 바뀝니다.)

asort($array);//작은수부터(초기 첨자는 바뀌지 않습니다.)

 

//' 0번째 10개만 잘라내서 새로운 배열을 만든

$list= array_slice($list, 0, 10);

 

array_rand()함수 사용하기

 

설명

배열에서 특정 배열의 순서값을 랜덤하게 출력합니다.

예제

<?
srand ((float) microtime() * 10000000);
$array=array("이xx","백xx","이xx","김xx","김xx");
$name = array_rand ($array);
echo $name; //' 임의 배열의 순서값 '//

echo " ";

echo $array[$name];//' 임의 배열의 원소값

?>

 

※ PHP 4.2.0 이상부터는 srand()나 mt_srand()를 이용해서 난수값 생성기를 초기화 할

필요가 없습니다. 자동적으로 이루어집니다.

※ 두번째 파라미터는 꺼내고 싶은 갯수를 지정하며 생략하면 기본값이 1이다.

 

array_keys() 함수 사용하기

 

$actArr  = array("10" => "바보", "20" => "천재");

$actKey  = array_keys($actArr);

 

두번째 array_keys() 함수를 사용하면 $actKey 변수에 array("10","20");과 같은 효과가 난다.

 

문자열변수 배열 참조 가능

 

<?

 $value = "abcde";

 //' 문자열 변수는 문자형 배열로서 각 원소값을 참조가능하다. '//

 echo $value[0];

 echo $value{0};

 echo " ";

 echo $value[1];

 echo $value{1};

 echo " ";

 echo $value[2];
 echo $value{2};

?>

결과 : aa bb cc

 

※ php.net 에서는 $value[0] 보다 $value{0} 을 쓰라고 권장합니다.

 

count(), sizeof()

 

배열변수의 원소 갯수를 반환한다.

※ 배열변수가 아닌것은 1을 리턴한다.

 

//'' 배열원소 값을 랜덤하게 섞는다.  ''//

shuffle($arr);

 

//'' 배열 존재 여부 ''//

//'' "jun1" 문자열이 $arr 배열원소 값에 한개이상 있는지 체크 ''//
if (in_array("jun1",$arr))

echo "ok";

 

//'' 배열을 풀어서 출력 ''//

print_r($arr);


출처: http://www.zetswing.com/bbs/board.php?bo_table=PHP_LEC&wr_id=8&page=3




LIST

Copyright © 2014 visionboy.me All Right Reserved.