묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[php] 배열 부분에서 질문이 있습니다.
2004.06.25 12:51
<?
$data = array("php","asp","java");
$i = 0;
while($i < sizeof($data)) {
if($data[$i] == "php"){
$cnt = $i + 1;
echo("php : ${cnt} 번째<br>");
break;
}
$i++;
}
echo("배열번호 : $i");
?>
위에꺼에 대해서 질문좀 하께요...
제가 책에서 보고 공부하고 있는데요
이해가 안가는 부분이 있어서요..
위줄 한줄한줄 차례대로 질문좀 하꼐여..
$data = array("php","asp","java");
여기서요
array요
1번째에 php를 저장하고 2번째는 asp를 저장하고 3번째는 java를 저장하는건가요?
그리고 php를 불러 올려면 0이고 asp 1이고 java는 2인가요?
배열에 대해서좀 햇깔려서요..;;
그리고
while($i < sizeof($data)) {
if($data[$i] == "php"){
$cnt = $i + 1;
echo("php : ${cnt} 번째<br>");
break;
이거요..
while 에서 참과 거짓을 나누잖아요.. i는 0이라 지정해서 0이고
sizeof($data)이게 몇이냐가 문제인데...
이건.. $data에 저장된 배열(?)이 몇개인지 그게 숫자로 나타나는건가요??
그리니까.. php asp java 3개가 들어있으니.. 3이 되는거 맞나요??
sizeof 함수에 대해서 설명좀...
그다음 if문이요.. $data[$1]이거는 $data[0]과 같으니까.
php를 말하는거 맞죠??
그리거 $cnt 변수를 만들어 줬잖아요
근데 다음줄 echo에는 $cnt를 왜 ${cnt} 라고 쓴거죠? 무슨 의미가 있는건가요??
흐음..;;
다음 if문에 왜 break가 들어가요? 반복문도 아닌데.;; 잘못된거 맞죠??
제가 보기엔.. 위에 있는 php가 좀 잘못된거 같은데..
맞나요?
답변좀 주세요.. 책이 구려서 그런지.. 너무 잘못된 부분이 많습니다.
저것도 잘못됐는지 확인좀 해보게요.;;
아.. 저거 실행시키면..
이렇게 나옵니다..
================================
php : 1 번째
배열 번호 : 0
================================
답변 기다리겠습니다..
$data = array("php","asp","java");
$i = 0;
while($i < sizeof($data)) {
if($data[$i] == "php"){
$cnt = $i + 1;
echo("php : ${cnt} 번째<br>");
break;
}
$i++;
}
echo("배열번호 : $i");
?>
위에꺼에 대해서 질문좀 하께요...
제가 책에서 보고 공부하고 있는데요
이해가 안가는 부분이 있어서요..
위줄 한줄한줄 차례대로 질문좀 하꼐여..
$data = array("php","asp","java");
여기서요
array요
1번째에 php를 저장하고 2번째는 asp를 저장하고 3번째는 java를 저장하는건가요?
그리고 php를 불러 올려면 0이고 asp 1이고 java는 2인가요?
배열에 대해서좀 햇깔려서요..;;
그리고
while($i < sizeof($data)) {
if($data[$i] == "php"){
$cnt = $i + 1;
echo("php : ${cnt} 번째<br>");
break;
이거요..
while 에서 참과 거짓을 나누잖아요.. i는 0이라 지정해서 0이고
sizeof($data)이게 몇이냐가 문제인데...
이건.. $data에 저장된 배열(?)이 몇개인지 그게 숫자로 나타나는건가요??
그리니까.. php asp java 3개가 들어있으니.. 3이 되는거 맞나요??
sizeof 함수에 대해서 설명좀...
그다음 if문이요.. $data[$1]이거는 $data[0]과 같으니까.
php를 말하는거 맞죠??
그리거 $cnt 변수를 만들어 줬잖아요
근데 다음줄 echo에는 $cnt를 왜 ${cnt} 라고 쓴거죠? 무슨 의미가 있는건가요??
흐음..;;
다음 if문에 왜 break가 들어가요? 반복문도 아닌데.;; 잘못된거 맞죠??
제가 보기엔.. 위에 있는 php가 좀 잘못된거 같은데..
맞나요?
답변좀 주세요.. 책이 구려서 그런지.. 너무 잘못된 부분이 많습니다.
저것도 잘못됐는지 확인좀 해보게요.;;
아.. 저거 실행시키면..
이렇게 나옵니다..
================================
php : 1 번째
배열 번호 : 0
================================
답변 기다리겠습니다..
댓글 2
-
Khal
2004.06.25 17:26
마지막의 break 은 위의 while 문을 깨는 거 같아보이는데요.. 변수 data 의 0번째 배열의 내용은 문자 php 1번째 배열의 내용은 문자 asp 2번째 배열의 내용은 문자 java 입니다.. ;; 배열은 1부터 시작이 아닌 0부터 시작입니다 ;; sizeof는 크기를 말하는 걸텐데요 ;; while($i < sizeof($data)) 이부분은 변수 i의 숫자가 변수 data의 길이보다 작으면 반복하라는 소리일겁니다 ;; 잘못된 부분이 있으면 밑에 다른 분들이 답변해주실겁니다 ;; -
TheMics
2004.06.26 19:02
처음 질문은 생각하신 내용이 맞습니다. 0번부터 번호를 매깁니다.
while문이 있는 소스는 보니까 php라는 값이 배열에서 볓번째에 저장되어있는가를 표시하는 내용이군요.
우선 sizeof에 대한 내용도 맞습니다. 배열 원소의 개수를 구하는 함수입니다.
그다음 if문에서는 배열 원소의 값이 php인지 검사하고 그렇다면 그것이 몇번째에 나오는지 내용을 출력합니다.
여기서 $cnt는 $i보다 1 큰 값인데요..$i는 PHP의 배열 번호, 즉 0부터 시작하는 것이므로
일 경우 첫번째 1일 경우 두번째라고 표시하기 위해 1을 더하는겁니다. 그다음 while문을 탈출시키는군요.
만약 php가 아니라면 다시 위 과정을 반복하겠죠.
${cnt}는 $cnt와 같습니다. 이 부분은 나중에 자료를 검색해보시는게 좋을 것 같네요.