묻고답하기

list() 구문은 지정된 배열의 모든 원소값을 list()구문내에 존재하는 모든 변수에 순차적으로
할당하는 거고,
each() 함수는 each()함수내에 인자로 지정된 배열의 각 원소를 배열형태로 특정 배열변수
에 할당하고, 배열포인터를 다음 원소로 이동시키는 거잖아요..
list()구문과 each()함수를 따로 따로 사용할 경우에는 정의된 뜻대로 잘 되는데...
list()구문과 each()함수를 같이 사용할 경우에는 그렇게 안되네요...
우선 소스를 보여드릴께요...

(소스1)
<?
$menu=array(pizza,cola,pasta,apple);
list($a,$b,$c,$d)=$menu;

echo $a."<br>";
echo $b."<br>";
echo $c."<br>";
echo $d."<br>";
echo "<br>";
?>
-결과-
pizza
cola
pasta
apple

(소스2)
<?
$menu=array(pizza,cola,pasta,apple);
$test=each($menu);

echo $test[0]."<br>";
echo $test[1]."<br>";
echo $test[key]."<br>";
echo $test[value]."<br>";
echo "<br>";
?>
-결과-

pizza

pizza

(소스1)과 (소스2)는 정의된 뜻대로 잘 되는데...
만약, (소스3)처럼 같이 코딩할 경우..

(소스3)
<?
$menu=array(pizza,cola,pasta,apple);
list($a,$b,$c,$d)=each($menu);

echo $a."<br>";
echo $b."<br>";
echo $c."<br>";
echo $d."<br>";
?>
-결과-

pizza

이렇게 나와버리네요. 원래 (소스3)이 ...

<?
$menu=array(pizza,cola,pasta,apple);
list($a,$b,$c,$d)=array(0=>0,1=>pizza,key=>0,value=>pizza)

echo $a."<br>";
echo $b."<br>";
echo $c."<br>";
echo $d."<br>";
?>

와 같이 되어서 (소스2)와 같은 결과가 나와야하는거 아닌가요??

아니면 (소스3)처럼 list()구문과 each()함수가 같이 사용될 경우......
list()구문은 each()함수에서 생성된 배열 의 참조키 중 [0],[1]가 참조하는  키값을 list()구문내의 변수에 할당하는 하거나, [key],[value]가 참조하는 키 값을 list()구문내의 변수에 할당
하는 건가요??



질문2)
list()구문에서 지정된 배열은 연관배열은 사용할 수 없고, 스칼라 배열만 사용가능한가요??
예를들어..

<?
$menu=array(pizza,cola,pasta,apple);
list($a,$b,$c,$d)=$menu;

echo $a."<br>";
echo $b."<br>";
echo $c."<br>";
echo $d."<br>";
echo "<br>";
?>

이렇게 했을 때는 정상적으로 되는데...

<?
$menu=array(w=>pizza,x=>cola,y=>pasta,z=>apple);
list($a,$b,$c,$d)=$menu;

echo $a."<br>";
echo $b."<br>";
echo $c."<br>";
echo $d."<br>";
echo "<br>";
?>

이렇게 했을 경우에는 아무런 값도 출력이 되지 않더라구요...ㅡㅡ;
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
김영준 링크 밑줄 없애고 마우스오버시 색깔변하는거 좀... [1] 2007.08.10
taeho Mysql 퀴어리를 써서 join한지 6달되면 db로 부터 지우는것 어떻게 [1] 2007.08.10
전요한 플래시 // 액션 스크립트로 다른 SWF 내에 인스턴스도 조종할수 있나여 ??  
김선일 Windows 2000 Sever 에서 어케 퍼미션을 707로 바꾸져? [3] 2007.08.10
에지 FONTS 폴더 원상복구 [3] 2007.08.10
김진아 홈페이지 용량에 관한 질문입니다... [2] 2007.08.10
정세영 폼으로 넘길때 [1] 2007.08.10
현배♡ 자신의 홈이 어디에 링크가 걸렸는지 알기 위해서는..  
키리에 노프레임에서;; [2] 2007.08.10
박윤희 아이프레임을 사용해서 제로보드를 넣었거든요.오른쪽 바 색상을 좀 예쁘게 바꾸고 싶은데... [2] 2007.08.10
박윤희 [re] 아이프레임을 사용해서 제로보드를 넣었거든요.오른쪽 바 색상을 좀 예쁘게 바꾸고 싶은데...  
데이 테이블에 대해 질문좀 드릴께요.... [8] 2007.08.10
taeho Outlook에서 보내는 메일서버(smtp) 설정에 관하여 [3] 2007.08.10
박윤희 아이프레임 사용해서 제로보드의 바 색상 변경??? [1] 2007.08.10
한정수 자바가상머신.. 확인 하는 거 어케하나요?  
엘사이드 홈페이지에 irc대화실 어케다나요?  
처음처럼 하위페이지 질문입니다. 조언부탁드립니다.  
풍월주인 index파일이 없을 경우 목록이 뿌려지는거에 관한 질문입니다. [3] 2007.08.10
김민성 [질문]그림이 안보여요~ [1] 2007.08.10
까꿍이 소스를 열나게 찾아다니고있습니다... [3] 2007.08.10
천하무적 PHP시간함수에 대해서 궁금한거 있어여...^^; [5] 2007.08.10
숑숑숑 이미지 네임 이요, 어케하는건지 알려주세ㅁ요~! [2] 2007.08.10
액션트 이걸 뭐래야 하나.. 여하튼 질문 ;ㅅ; [3] 2007.08.10
불청캑 플래시에서 심볼 등록하는 거여 ㅡㅜ [2] 2007.08.10
다루끼 *^^* 로그인후 해당 페이지로 이동....... [1] 2007.08.10
김창문 하이퍼링크에 파일연결 [1] 2007.08.10
김진수 mysql을 mssql로 변경 가능한가요? [4] 2007.08.10
CiZ ..-_-카운터; 오늘과 어제 카운터의 숫자가 안 올라가네요-_-;;(..총합 부분은 올라가는데;) [1] 2007.08.10
자수정 웹 이미지...주로..어디서 ..찾아서,,,,,,,,??[급함] [3] 2007.08.10
정문수 즐겨찾기 검사해서 안되어있으면 추가메뉴 뜨게 할수 있나요 [1] 2007.08.10