2017-09-29 2 views
0

일반적인 질문이 있습니다. $ _POST 변수에 배열 배열을 추가하기 위해 아래 코드를 작성했습니다. 포스트 변수도 배열이라는 것을 알고 있습니다. 그래서, 다차원 배열을 post 변수에 하나씩 추가 한 후에 print_r 데이터를 보려고했지만 하나의 배열 만 출력되었습니다.

왜 하나의 배열 만 인쇄 할 수 있습니까? 루프에 대한 당신의

$x = 0; 
    for($x; $x < count($return_auth); $x++){ 
     $_POST = $return_auth[$x]; 
    } 

print_r($_POST); 
+0

$ return_auth는 무엇인가? 그리고 있다면 덤프를 포함하십시오. – Andreas

+0

PHP 슈퍼 전역을 수정하지 마십시오. 이제까지. 원하는 데이터를 가져 와서 다른 곳에 넣으십시오. – Sammitch

답변

1

사용이

$_POST[] = $return_auth[$x]; 

편집

이 작동 더 나은 지금 당신은 예를

위해 (foo는)에 액세스 할 수 있습니다

$_POST['something' . $x] = $return_auth[$x]; 

$_POST['somethingfoo']; 
+0

잘 잡습니다. 보지 못했습니까 – Andreas

+0

'$ _POST' 전역에서 숫자 색인에 대해 뭔가 이상하게 보입니다. 뭔가 부정적인 것을 찾을 수는 없지만이 점에주의해야합니다. – nerdlyist

2

당신이하고있는 일은 게시물을 덮어 쓰는 것입니다. 당신이 뭔가를 할 수있는 당신이 여기있는 기준 자료 :

$_POST[return_auth] = $return_auth; 

당신은 배열을 만들기 위해 루프 이유를 배열을 가지고하지 않는 한 ...

3
nerdlyist 대답은 절대적 권리이지만

,하지만 난 생각 즉, 올바른 방법은 아닙니다. 즉, $ _POST 변수를 수정하고 $ _POST 변수에는 POST 요청에서 보낸 모든 매개 변수가 포함 된 의미가 첨부되어 있기 때문입니다. 덮어 쓰기하면 변경 사항은 애플리케이션 전반에 영향을 미치며 애플리케이션에서 실행중인 다른 모듈에는 올바른 요청이 아닌 $ _POST 배열의 실제 POST 매개 변수가 표시됩니다.

+0

가볍게 가져 가면 안되는 좋은 점. 내 직감은 POST와 GET을 망치지 않는 것이었지만 확실하지는 않았습니다. POST를 복사하고 복사본을 엉망으로 만드는 것이 좋습니다. – Andreas

+0

응용 프로그램의 해당 부분에 데이터가 전송 (POST 또는 GET)되지 않는 한 응용 프로그램의 다른 모듈에이 모듈이 표시되지 않습니다. $ _POST는 수정하여 양식 데이터가 API에 표시 될 때 다시 보낼 수 있습니다. – nerdlyist