write_update.skin.php 에서 for문은 어떻게 돌리나요?
본문
우선 코드부터 보시죠~
for ($i=1; $i<=10; $i++) {
$geo.$i = getNaverGeocode($_POST['mwb_list_address_'.$i], $MWB_naver_map_api, $MWB_naver_map_secret);
$data.$i = json_decode($geo.$i,1);
$map_x_point.$i = $data.$i['result']['items'][0]['point']['x'];
$map_y_point.$i = $data.$i['result']['items'][0]['point']['y'];
$mwb_list_grd_la_.$i = $map_x_point.$i;
$mwb_list_grd_lo_.$i = $map_y_point.$i;
}
네이버 맵 api를 이용해서 mwb_list_address_1 부터 10까지의 주소를
각각 mwb_list_grd_la_1~10까지 mwb_list_grd_lo_1~10까지
값을 구하고 있었습니다.
요녀석들을 다 구하고 db에 넣으려고 하는데요..
for문에서 $i를 어떻게 붙혀야지 요녀석들이 제대로 구해질까요?
위처럼 해보니 뺑뺑이만 계속 도는 것 같습니다.
( 참 db에는 주소와 위도경도 1~10까지 전부 추가시켜놓았습니다.)
답변 1
$geo.$i 는 $gdo 변수에 저장된 값과 $i 에 저장된 값을 문자열 연결 시킨다는 의미입니다. ($a = "hello"; $b = "world; echo $a . " " . $b; // hello world)
의도대로 사용하려면 ${"geo".$i} 식으로 표기해야 합니다.
가변변수를 사용해도 되기는 하지만, http://php.net/manual/kr/language.variables.variable.php 배열 사용을 추천하겠습니다.
for ($i=1; $i<=10; $i++) { $geo[$i] = getNaverGeocode($_POST['mwb_list_address_'.$i], $MWB_naver_map_api, $MWB_naver_map_secret); $data[$i] = json_decode($geo[$i],1); $map_x_point[$i] = $data[$i]['result']['items'][0]['point']['x']; $map_y_point[$i] = $data[$i]['result']['items'][0]['point']['y']; $mwb_list_grd_la[$i] = $map_x_point[$i]; $mwb_list_grd_lo[$i] = $map_y_point[$i]; }
답변을 작성하시기 전에 로그인 해주세요.