배열 에서 특정 요소만 빼고 배열을 유지하고자 할때를 대비하여 다음과 같은 함수를 만들었다.
<?
function arr_cut($arr,$chk){
if(count($arr)>0){
$new_arr = Array();
foreach($arr as $key => $val){
$is_ok = False;
for($i=0;$i<count($chk);$i++){
if($chk[$i] == $key && !$is_ok) $is_ok = True;
}
if(!$is_ok) $new_arr[$key] = $val;
}
return $new_arr;
} else return $arr;
}
?>
e.g.
<?
$ar = array("asdf" => "1234", "xcv" => "3333", "asdfasdf" => "xxxxx", "33sad" => "xxxx");
$chk = array("xcv","asdfasdf");
print_r(arr_cut($ar,$chk));
?>
예를 들면.. 다음과같이 활용할 수 있겠다.
<?
$sql = "select * from table limit 1";
$qry = mysql_query($sql);
$res = mysql_fetch_array($qry);
//$res 배열의 요소중 일정부분만 json으로 encoding 하여 해당값을 전달한다.
//요럴때 사용하는 겁니다.
$result = array_cut($res,$res_cut);
echo json_encode($result);
?>