[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

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.