이게 팁이될련지 모르지만 > 그누보드5 팁자료실

그누보드5 팁자료실

이게 팁이될련지 모르지만 정보

이게 팁이될련지 모르지만

본문

초보수준에서 컴퓨터라는게 

0부터 시작하다보니 핵갈리는경우가 참 많아요,

 

흔히 for문에서 0부터 시작할지 1부터 시작할지 정하면되지만

그리고 2씩 증가인지 3씩증가인지 이런건 숫자만 바꿔주면 된다.

 

그런데 배열이다보면 무조건 0부터 시작이라

2씩 증가 3씩 증가 이런건 먹히지 않는다..

 

그렇다고 이미 for문이 돌아가고 있는데 또 for문을 돌리려하면 아주 지진난다

 

0부터 시작해서 3씩 뛰는 경우 0 2 5 8 11 이다

이런땐 

$student_cnt[1][($i*2)+1] 이렇게 하세요 제대로 나옵니다. 

 

1 3 5 7 9로 뽑아야 하는경우

$student_cnt[1][($i*2)+1] 이렇게 하세요. 얼마나 간단해요,ㅎㅎ

 

 

여기서 만일 위의 둘중 또 선택해서 출력해줘야 하는경우

<? if(...) { ?>

11111

<?} else {?>

22222

<? } ?>만 밖에서 감싸주세요.

 

for문이 규칙적으로 돌아가는데

여기다 또 위와 같은 변수가 생기면 초보는 정말 막막해집니다.

 for문 안에 또 for문을 넣으면 코드 복잡해지구요, 

거기다 변수까지 있으면 출력갯수 따블이되고

for문들 사이에 맞지 않아 머리 지진납니다.

 

이거 삽질하다 얻은 결과인데 이런 방법도 써볼 수 있네여.

더 좋은 방법있으면 댓글 바라구요,,ㅎ

냠냠하게요 ㅎ

 

 

 

 

 

추천
4

댓글 2개

이런 건 기본 패턴이 있습니다.
진공배열을 하나 만들고 나머지 연산자를 이용해서 원배열에서 원하는 놈들만 진공배열에 담아주면 됩니다.

<?php
$my = []; // 진공배열 생성
$you = [10, 20, 30, 40, 50, 60, 70, 80, 90]; // 원배열
for ($i = 0; $i < count($you); $i++) { // 원배열을 반복하면서
	if ($i % 2 == 0) array_push($my, $you[$i]); // 진공배열에 원하는 조건만 새로 담음
}
print_r($my);
?>

여기서 if ($i % 2 == 0) 를 if ($i % 3 == 1) 등으로 바꾸면 다른 배열을 얻습니다.
그리고 원하는 배열을 얻었으면 $my 를 가지고 코드를 만들면 되겠습니다.
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT