php 배열 관련
Posted by Albert 4058Day 9Hour 15Min 20Sec 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