본문 바로가기

Creation/Programming

[PHP] Array_map 함수 : 배열 한번에 다루기




간단 팁이에요.. 드디어 php를 이용해서 mysql을 통제하는 방법을 익히고 있는데,

문제는 php로 날아오는 많은 변수값들을 escape시킬 필요가 있단 말이죠.. 예를 들면 이런식인거죠.


	
    $p_id = mysql_escape_string($_REQUEST['id']);
    $p_work = mysql_escape_string($_REQUEST['work']); 
	


escape시킬 변수가 한두개면 괜찮은데, 그렇지 않은 경우가 문제입니다. 이럴 때 사용할 수 있는 함수가 array_map이라는 함수인데요, reference에 나온 내용은



Description ¶

array array_map ( callable $callback , array $array1 [, array $... ] )

array_map() returns an array containing all the elements of array1 after applying the callback function to each one. The number of parameters that the callback function accepts should match the number of arrays passed to the array_map()


간단하군요. 실 사용 예를 볼까요, 위의 경우에는



    $_REQUEST = array_map('mysql_escape_string', $_REQUEST); 
	

처럼 사용하면 간단하게 배열 안에 들어있는 문자열들이 전부 escape됩니다.

추가적으로, 이 배열에 있는 것에 다 접근하려면, foreach함수를 쓰면 되지요.


	
	foreach ($_REQUEST as $element) {
		echo $element . '<br/>';
	} 
	


파이썬하고는 모양이 반대입니다.


	
for element in REQUEST:
    print element 
	

아예 다르면 좋은데 전 비슷한 놈들이 짜증나요.. as와 in의 의미차이겠죠.