2026, 새로운 도약을 시작합니다.

array2개를 포문으로 2번 반복해야 하는데용... 방법이 있을까요? 채택완료

Copy

여기서 room은 가변적으로 늘어날테고

name는 고정으로 정해져있습니다.

여기서 질문 1 

room(5개)의 숫자가 name(5개)과 같으면 오류가 없는데

room의 숫자가 1이라도 높아지면 오류가 생기네요.. offset를 찾을수 없다네요.. 방법이 없을까요? 

질문2 질문1이 해결이 된다면 

그 과정을 2번 반복해야 하는데........ 

Copy


for($i = 0; $i  count($room) * 2; $i++){

이렇게 하면될까요?

1번이 해결되지 않아.. 2번은 시도조차 못하고있어요.. 도와주세요 고수님들..

답변 4개

채택된 답변
+20 포인트

 1번이 해결되지 않아.. 2번은 시도조차 못하고있어요<---

질문을 이해하는 것이 코드 만드는 것보다 더 어렵네요. 어떻게 할당을 하고싶다는 설명이 있어야죠

위 소스에서  metal 에는 어떤 값이 대응되게 하고싶다는 것인가요?

원하는 답변인지 모르겟으나 계속 돌아가면서 할당하는 것은 아래처럼

$k= $h = 0;
$mm =count($room);
$nn = count($name);
for($i = 0; $i < $mm * 2; $i++){
  if($h && $h % $mm ==0) $h =0;
  if($k && $k % $nn ==0) $k =0;
   echo $room[$h]." : ".$name[$k]."<br/>";
   $k++; $h++;
}

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

답변에 대한 댓글 1개

아 .. ㅎㅎ 결과는 제가 원하는게 맞는것 같아요 ㅎㅎ

다시 2번만 설명드리면 랜덤으로 짝을 짓는 포문을 2번 반복시키는거에요

그걸 안적어놨네요 ㅎㅎ;;



$room은 가변적으로 늘어나게될 상황이고요
$name는 고정적으로 정해 놓을거에요

$room에 랜덤으로 $name를 짝지을건데

$room의 길이가 $name보다 길어지면 오류가 나더라구요.

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

Tires : 시금치 >> room[0] name[0]>> 룸 1회차
Oil : 콩나물 >> name[1]
Spark : 아욱 >> name[2]
Plugs : 냉이 >> name[3]
metal : 시금치 >>> room[4] name[0]
Tires : 콩나물 >> room[0] name[1] >> 룸 2회차
Oil : 아욱
Spark : 냉이
Plugs : 시금치 >> name[0]
metal : 콩나물

인것 같군요

간단하게 생각한다면

복사해서 배열을 채워 넣으시면 됩니다.  ( 다른방법도 있습니다.)

아래 경우는 $name 배열을 크기를 루프 크기만큼 복사해서 키워준것입니다.

Copy


$roomSize = count($room);

$nameSize = count($name);

$room_loop_su = 2; // 룸변수를 두번 돌리겠다면

$loop_limit = count( $room ) * room_loop_su;

var $new_name = array();

var $cnt = 0;

while( $cnt  $loop_limit ) {

  $new_name[] = $name[ $cnt % $nameSize ];

  $cnt++;

}

 

for( $i=0; $i  count($room) * $room_loop_su ;  $i++ ) {

    echo $room[ $i % $roomSize ] ." : ". $name[$i] ."
";

}

$name 을 회차마다 섞어 주겠다면 적당한 자리에서 suffle 을 한번 해주시면 되겠고요.

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

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

오류 안날텐데요.

없는 배열 요소을 참조하려하면 echo 에 대해선 그냥 널(void)가 출력될텐데요.

즉 1번출력은

Tires : 시금치
Oil : 콩나물
Spark : 아욱
Plugs : 냉이
metal : (출력없음)
 

2번 출력은

Tires : 시금치
Oil : 콩나물
Spark : 아욱
Plugs : 냉이
metal : (출력없음)
(출력없음) : (출력없음)
(출력없음) : (출력없음)
(출력없음) : (출력없음)
(출력없음) : (출력없음)
(출력없음) : (출력없음)

이렇게 나올겁니다.

코드대로 조건대로 나오는건데요.

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

답변에 대한 댓글 1개

네 어쨋든,, 둘의 길이가 같은 상황은 아니라서요..

둘중 하나가 길어도 반복되도록 안되나요?

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

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

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

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

로그인
🐛 버그신고