[PHP] freach 문에 대한 간단한 분석좀 부탁드립니다.

익명 사용자의 이미지

<?php

function print_fr($arr_var1,$arr_var2)
{
$arr_var3 = array(
array(0,0,0),
array(0,0,0),
array(0,0,0)
);

for($i=0;$i<3;$i++)
{
for($j=0;$j<3;$j++)
{
for($k=0;$k<3;$k++)
{
$expt = $arr_var1[$i][$k] * $arr_var2[$k][$j];
$arr_var3[$i][$j] += $expt;
}
}
}

foreach($arr_var3 as $value)
{
foreach($value as $value4)
{
print $value4." ";
}
print "
";
}

/*

for($i=0;$i<3;$i++)
{
for($j=0;$j<3;$j++)
{
print $arr_var3[$i][$j];
print " ";
}
print "
";
}

*/

}

$result1 = array(
array(1,2,3),
array(3,2,1),
array(1,2,3)
);

$result2 = array(
array(1,2,3),
array(4,5,6),
array(7,8,9)
);

print_fr($result1,$result2);

?>

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

위의 3x3 행열 소스코드를 실행시키면 위의 답안은

30 36 42
18 24 30
30 36 42



이렇게 나옵니다.



아랫쪽에서의 for문으로 출력을 했을경우에는 이해가 가서 주석처리를 하였지만

foreach 로 출력을 하는건 어떻게 겨우겨우 어거지로 출력은 했지만 어떻게 이렇게

구성이 되는지는 도무지 전혀 감이 오질 않습니다.



foreach($arr_var3 as $value)
{
foreach($value as $value4)
{
print $value4." ";
}
print "
";
}



이 부분에 대한 자세한 해석좀 부탁드립니다.

또 어떠한 경우에는 foreach문 안에 => 를 써서 해결하는 경우도 있던데..



하아 .. 너무 어렵습니다



도와주세요 !!

shint의 이미지


vector 에 vector 넣은거를 확인하는것과 비슷합니다.

//배열리스트를 넣으면. 배열이 나오고
foreach(배열리스트 as 배열)
{
}

//배열을 넣으면. 변수가 나오고
foreach(배열 as 변수)
{
}

http://blog.naver.com/diceworld?Redirect=Log&logNo=220199407985

$ar = array(0,1,2);
echo $ar."<br>";
 
foreach($ar as $val)
{
	echo $val." ";
}
print "<br>";
 
	foreach($arr_var3 as $arr_var4)
	{
		echo $arr_var4." ";
		print "<br>";
	}
 
	foreach($arr_var3 as $arr_var4)
	{
		foreach($arr_var4 as $value)
		{
			echo $value." ";
		}
		print "<br>";
	}
 
	for($i=0;$i<3;$i++)
	{
		for($j=0;$j<3;$j++)
		{
			print $arr_var3[$i][$j];
			print " ";
		}
		print "<br>";
	}
 
Array
0 1 2 
 
Array 
Array 
Array 
 
30 36 42 
18 24 30 
30 36 42 
 
30 36 42 
18 24 30 
30 36 42 

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com