[PHP] array_push 자꾸 값을 덮어쓴다..?? 바보짓 그만하자.

2022. 9. 22. 14:47기술집/WEB관련

728x90

한번쯤 이런 삽질하는것도 올려야.....

스스로가 창피하고, 더 조심하는 계기가 되지 않을까 생각합니다 ㅠㅠ

 

아후..

진짜 하다보면 이런 실수를 종종 저지르는데요..

작업중에 그래프 작업을하면서 만들어 둔 함수나 뽑아놓은 데이터를

본격적으로 그래프에 사용 할 수있게 가공중입니다.

 

날짜, 값, 수치를 따로 배열로 나눠서 JS 부분에서 출력을 하려합니다.

이럴때 제일 간편하게 쓸수있는게 array_push + foreach 콤비죠 ㅎ

 

array_push 는 배열 끝에 데이터를 추가하는 아주 편리한 함수입니다.

단일 데이터가 될 수도있고, 배열을 추가해서 다차원 배열로 만들 수 있습니다.

순서를 컨트롤 해야할 때에는 못쓰지만.. 그냥 배열에 순서대로 넣어서 사용할때에는 편리합니다.

 

array_push( [배열] , [값] );

 

이렇게 쓰시면 됩니다.

그럼 배열 뒷쪽으로 계속해서 값을 넣을 수 있습니다.

 

 

그런데.. 출력 결과... push 가 안됩니다...????

분명 for문으로 5번을 돌리고 있고.. 5번을 밀어 넣었으니 배열안에 5개의 값이 들어있어야하는데..

하나만 나오고 있습니다.

어떻게 될걸까요?

 

 

 

출력결과... 출력되는 값이 들어가고... 추가 되는것이 아니라 덮어쓰고 있습니다.

array_push 는 이런게 아닌데 ;;;

 

몇번을 확인하고 또 확인을 해 봅니다.

 

 

 

이렇게 되어있습니다.

배열 3개를 준비 한 다음에.. 푸쉬로 열심히 넣습니다.

다른게 없는데.. 왜그런걸까요???

 

어제만 해도 다른데서 잘 집어넣었는데...

흠...

도무지 이유를 알 수가 없습니다.

 

이유는 알 수 없지만 확실한건 있습니다.

바로 무언가를 잘못했기 때문에 저렇게 되는겁니다.

내가 잘했다고 생각하지만 어디선가 잘못된게 있는겁니다.

그걸 빨리 찾아야하는데요..

 

도대체 왜지??? 왜 때문이지????????

 

한참을 쳐다보고, 출력하고, 고민을 하다가...

아.

 

아!!!!!!!!!!!!!!!!!!!!!!!

 

유레카!!!!!

 

 

 

잘 됩니다.

그렇죠. 이게 바로 올바른 array_push 결과값이죠.

 

뭐가 문제였냐면...

 

for문으로 돌리고있는데 그 안에서 배열을 만들어 주고 있었다는것.

그러니 하나 담고.. 담번에 다시 배열 초기화해서 그다음 값 담고....

다음에 또 초기화해서 값 담고...

 

그러니 제일 마지막 값만 남아있었....;;;;;;;

 

 

 

아오오오오오오오 이런 돌빡아~!!!!!!!!!!!

가끔씩 이런 삽질하는데.....

현타가 옵니다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

담번에는 이러지말자...아니, 이러는 횟수를 좀 줄이자 ㅋㅋㅋㅋㅋ

 

 

728x90