세션저장을 for문으로 하려는데 잘 안되요.
본문
안녕하세요. :)
mb_1에 저장된 숫자들을 순서대로 하나씩 세션으로 만들려고 하는데, 잘 안되네요.
도움 부탁 드려요.
답변 1
잘 안된다는게 어떻게 안되는건지요?
딱히 문제될만한 부분은 안보입니다.
세션저장후 print_r2($_SESSION['name']); 등으로 출력해보세요.
혹시 $_SESSION['name'] 저장된 내용을 목록으로 출력하려고 할 때 for문을 사용하시면 버그가 생길수도 있을겁니다.
이를테면
$member[mb_1] = '9,4,78,23,a,sdf';
이렇게 되있었다고 할 때 저장은
[name] = Array
(
[9] = 9
[4] = 4
[78] = 78
[23] = 23
[a] = a
[sdf] = sdf
)
이렇게 되겠죠.
그런데
for($i=0; $i<count($_SESSION['name']); $i++)
print_r2($i.' : '.$_SESSION['name'][$i]);
이렇게 출력을 해보면
0 :
1 :
2 :
3 :
4 : 4
5 :
이렇게 나올겁니다.
이런경우는
foreach($_SESSION['name'] as $key=>$value)
print_r2($key.' : '.$value);
이런식으로 foreach나 each를 사용하시는게 좋습니다.
[출력결과]
9 : 9
4 : 4
78 : 78
23 : 23
a : a
sdf : sdf
그냥 순차적으로 넣어서 for문을 사용하겠다 하는 경우라면 세션저장할 때
$_SESSION[name][$i] = $aaa[$i];
이렇게 하시는게 좋겠죠.