반응형
php 배열관련 함수1
1.배열의 종류
<?php
//php 배열 종류는 3가지있다.
//1 indexed arrays
//array(value1, value2, value3,....);
$color = array("red","green","blue");
for($i = 0; $i< count($color);$i++){
echo $color[$i];
echo '<br>';
}
echo '<hr>';
foreach($color as $row){
echo $row;
echo '<br>';
}
echo '<hr>';
//2 associative array
// array(
// key1 => value1,
// key2=> value2
// )
$color2 = array(
'1' => "red",
'2' => "green",
'3' => "blue"
);
foreach($color2 as $keys => $values){
echo $keys . '=>' .$values . '</br>';
}
echo '<hr>';
//3 mulidimensional array
$color3 = array(
'red' => array("reditem1","reditem2","reditem3"),
'green' => array("greenitem1","greenitem2","greenitem3"),
'yellow' => array("yellowitem1","yellowitem2","yellowitem3")
);
//2중 포문으로 풀어 낸다
foreach($color3 as $keys => $values){
echo '색깔--' .$keys. '<br>';
foreach($values as $sub_row)
{
echo '색깔 아이템' . $sub_row. '<br>';
}
}
?>
2.key 값을 대문자 또는 소문자로 출력하기
array_change_key_case(array, case(option));
<?php
//배열의 key 값을 소문자 or 대문자로 바꾸는 함수
//array_change_key_case();
//array_change_key_case(array, case(option));
//배열 선언
$emp = array(
'jon' => 25,
'kim' => 26,
'song' => 27
);
//소문자
echo '<pre>';
print_r(array_change_key_case($emp));
echo '</pre>';
echo '<hr>';
//대문자
echo '<pre>';
print_r(array_change_key_case($emp,CASE_UPPER));
echo '</pre>';
?>
3.배열을 나누어서 두개의 배열로 만드는 함수
array_chunk(array,size,preserve_key)
<?php
// 배열을 나눠서 또다른 배열을 만드는 함수
//array_chunk();
//array_chunk(array,size,preserve_key)
$color = array("red","green","blue","yellow","gold","black");
$chunk_array = array_chunk($color,3);
echo '<pre>';
print_r($chunk_array);
echo '</pre>';
echo '<hr>';
//value값들 출력
foreach($chunk_array as $row)
{
foreach($row as $sub_row){
echo $sub_row.'<br>';
}
}
echo '<hr>';
//키값과 value 값 다 나오게하기
$emp = array(
'jon' => 25,
'kim' => 26,
'song' => 27,
'jin' => 28,
'nam' => 29
);
$chunk_array2 = array_chunk($emp,2,true);
echo '<pre>';
print_r($chunk_array2);
echo '</pre>';
foreach($chunk_array2 as $row){
foreach($row as $sub_key => $sub_rows){
echo $sub_key .'=>' . $sub_rows. '</br>';
}
}
?>
4.배열안의 value가 배열인 값들 중에서 해당 key 값의 value만 출력하는 함수
array_column(array,column_key,index_key);
<?php
//array_column()
//array_column(array,column_key,index_key);
$emp_data = array(
array(
'id' => 1001,
'name' => 'kim',
'gender' => 'male',
'city' => 'deagoo'
),
array(
'id' => 1002,
'name' => 'kang',
'gender' => 'male',
'city' => 'busan'
),
array(
'id' => 1003,
'name' => 'hong',
'gender' => 'male',
'city' => 'seoul'
),
array(
'id' => 1004,
'name' => 'jin',
'gender' => 'male',
'city' => 'deagoo'
)
);
//배열이 value인 값들 중에서 key 값이 name 사람들만 출력
$name = array_column($emp_data,"name");
echo '<pre>';
print_r($name);
echo '</pre>';
echo '<hr>';
//배열이 value인 값들 중에서 key 값이 name 사람들만 출력하는데 해당 id를 key 값으로 같이 출력하라
$name2 = array_column($emp_data,"name","id");
echo '<pre>';
print_r($name2);
echo '</pre>';
?>
5.두 배열을 하나로 합치기 , 첫 배열의 value 값은 합쳐진 후 key가 되고 뒤의 배열은 value 값이 된다.
array_combine(키, 값);
<?php
//array_combine()
// array_combine(키, 값);
$color = array("red","black","white");
$hash_code =array("#ff000","#99999","#adfda");
$array = array_combine($color,$hash_code);
echo '<pre>';
print_r($array);
echo '</pre>';
// 배열과 배열을 합치기
echo '<hr>';
$color2 = array(
'c1' => "red",
'c2' => "black",
'c3' => "white"
);
$hash_code2 = array(
'h1' => "aaaaaa",
'h2' => "bbbbbb",
'h3' => "cccccc"
);
$array2 = array_combine($color2,$hash_code2);
echo '<pre>';
print_r($array2);
echo '</pre>';
?>
6. value의 동일한 개수 구하기
array_count_values(array);
<?php
//array_count_values();
// array_count_values(array);
$color = array("red","red","red","green","green","green","green","green","yellow","gold");
$count_array = array_count_values($color);
echo '<pre>';
print_r($count_array);
echo '</pre>';
?>
7.두 배열을 비교해서 서로 다른 값이 있는 것을 배열에 넣어 리턴 하는 함수
array_diff(array1,array2);
<?php
//array_diff();
//array_diff();
$color = array("red","green","yellow","gold","hi","wow");
$color2 = array("red","green","yellow","gold");
$difference_array = array_diff($color,$color2);
echo '<pre>';
print_r($difference_array);
echo '</pre>';
echo '<hr>';
//이런 종류의 배열은 안됨 그래서
$color1 = array(
array('color' => "red"),
array('color' => "green"),
array('color' => "blue"),
array('color' => "yellow")
);
$color2 = array(
array('color' => "red"),
array('color' => "green"),
array('color' => "blue")
);
//빈배열만들고
$value1= array();
$value2= array();
//풀어주기
foreach($color1 as $row1)
{
$value1[] = $row1["color"];
}
foreach($color2 as $row2)
{
$value2[] = $row2["color"];
}
$difference_array = array_diff($value1,$value2);
echo '<pre>';
print_r($difference_array);
echo '</pre>';
?>
반응형
'PHP 박살내기 > php 배열' 카테고리의 다른 글
php 배열관련 함수2 (0) | 2017.09.26 |
---|
댓글