php 공부중인데 질문드려요. 채택완료
1 <?
2 $view_ph_color_exp = explode("|", $view_ph_color);
3 for ($i = 0; $i < sizeof($view_ph_color_exp); $i++) {
4 if ($i == 0) {
5 $view_ph_color = $view_ph_color_exp[$i];
6 }
7 ?>
2열 explode 문자열을 분할하여 배열로 저장하는 거라는데 ph_color라는 컬럼에서 "|" 기준으로 문자를 나눠서 배열로 저장하라
여기서 앞쪽의 $view_ph_color_exp 이건 변수인가요? exp로 끝나는 컬럼은 없어서요.
3열 i가 0이고 ph_color에 들어있는 문자 개수보다 i가 작으면 i를 증가시켜라
4열 i가 0이라면
5열 exp[$i]의 값을 ph_color에 넣어라??? 인가요?? 이상한데.......
초보가 만들어져 있는 사이트 뜯어보면서 공부중인데 새로운 코드를 볼때마다 어렵네요...
답변 2개
자 일단 명칭정리부터해야될것같네요
php에서 $붙은건 모두 변수입니다
2열 - explode는 문자열을 특정조건(지금의 경우에는 "|")을 배열로 각각 저장합니다 즉 $view_ph_color에 들어있는 문자열에 "|"이 들어있으면 각각 배열로 분할하여 $view_ph_color_exp에 배열로저장합니다
3열 - 2열에서 변환시킨 $view_ph_color_exp에는 배열이 들어가있겠죠? sizeof는 배열의 갯수를 카운팅합니다. for문의 정의를 아시면 아시겠지만 $i는 중간의 조건이 충족할때까지 반복을 돕니다
4열 - 은 넘어가구요
5열 - 4열의 if조건에 맞추어 $i==0일때 배열로 분할했던 변수 $view_ph_color에 $view_ph_color_exp[$i]를 넣어라가 맞습니다
여기서 코드로 볼때 의도했던것은 $view_ph_color에 정의되어있는 문자열중 첫번째것만 가져올려고 해당 코드를 짯다고 볼수있는데요..
다만 좋은 코드라고는 못하겠네요 굳이 for문을 돌릴필요가없는 조건이기에...
단순히 배열의 첫번째 값만 가져오겠다면
$view_ph_color_exp = explode("|", $view_ph_color);
$view_ph_color = $view_ph_color_exp[0];
이렇게하면 끝이니깐요
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
제가 헷갈린 부분이 있어서요..
2 $view_ph_color_exp = explode("|", $view_ph_color);
$붙은건 모두 변수라면.. ("|", $view_ph_color); 여기 $view_ph_color 이것도 변수인가요?
전 여태 이건 컬럼명을 얘기하는건줄 알고 있었는데... 변수였다니... 다시 생활코딩 처음부터 공부해야겠네요...