array 반복 질문 채택완료

Copy
$arr = array('1','2','3');

echo ($arr[4]);

 

index 4 = > 1 될려면 어떻게 하면되나요?

index 5 = > 2

 

3으로나눈 나머지값을 돌아온다??;

 

검색어라도 알려주심 감사하겠습니다.

답변 2개

채택된 답변
+20 포인트

본문글 대로라면 4가 입력되면 => $arr[0]번지 값 1을 출력하게 하시는 걸로 말씀하셨는데

그 코드는 다음과 같구요.

 

Copy
<?
$arr = array('1','2','3'); 

$input_num = 4; // 여기 입력되는 숫자 세팅

 

$input_num = abs($input_num);
if(($index = $input_num % count($arr) - 1) == -1)
    $index = count($arr)-1;

echo $arr[$index];
?>

 

댓글데로라면 

Copy
<?
$arr = array('1','2','3'); 

$input_num = 4; // 여기 입력되는 숫자 세팅

 

$input_num+=1;
$input_num = abs($input_num);
if(($index = $input_num % count($arr) - 1) == -1)
    $index = count($arr)-1;

echo $arr[$index];
?>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

감사합니다. 근데 index[4] 는 0 1 2 / 3 4 5 니깐 $arr[1]번지 값 아닌가요??

$input_num % count($arr) - 0) 으로 고치긴했는데 제가 잘못 생각하는건가요?
님 논리데로라면 4가 입력됏을때 index[1] 번지를 가르키는게 맞습니다. 1번지가 두번째 배열이죠.
댓글데로라면... 밑에 코드 쓰세요.
아하 제가 잘못 적었네요 죄송합니다
항상 감사합니다~^^

댓글을 작성하려면 로그인이 필요합니다.

의도가 먼지 모르겠습니다.

배열 길이가 0번지~2번 까지 있는데 한 대충 100번지까지 계속 반복적으로 넣고 싶은건가요????

 

아님 4가 입력이되면 0번지에 있는 1이라는 숫자를 가르키고 싶은건가요?????

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

후자입니다.
arr[4] => 2 =arr[1] =>2
가르키게 하고 싶습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고