2012-11-03 4 views
1

그래서 MySql 테이블 데이터를 다차원 PHP 배열로 가져 오거나 그 다차원 배열을 json 문자열로 변환하는 가장 좋은 방법을 찾으려고합니다.PHP 다차원 배열에서 JSON

본질적으로 내가하려는 것은 PHP 반복문을 처리 할 수 ​​있도록 JSON 문자열을 반환하는 PHP 인클루드입니다. 하나의 키가 여러 값으로 필요하기 때문에 올바른 방향으로 향하고 있는지 100 % 확신 할 수 없습니다.

나는 예를 들어, 같은 키에 여러 값을 할당 할 :

[{"key1": "package1", "package2", "package3"}, {"key2": "package1", "package2", "package3", "package4"}] 

난 그 잘 작동하지 않을 생각? 왜냐하면 나는 어떤 종류의 색인이 없기 때문에?

+3

json_encode($arr) 당신이로 json_encode를 시도 밖으로 반향? 그것은 당신을 위해 모든 것을 처리 했어야합니다. (json 배열을 다르게 표현해야하므로 올바르지 않은 json이 올바른 형식으로 출력됩니다.) – Edison

+0

[PHP로 JSON 파일 구문 분석] (http://stackoverflow.com/questions)/4343596/parsing-json-file-with-php) – brenjt

답변

4

유효하지 않은 JSON입니다.

  • $arr[$key] = < 새로운 배열 MySQL의 에서 가져온 모든 행에 대해

    1. : 당신은 같은 것을 필요는 PHP 측에서

      [ 
      {"key1": ["package1", "package2", "package3"]}, 
      {"key2": ["package1", "package2", "package3", "package4"}] 
           ^An array as the value to the key "key1", "key2", etc.. 
      ] 
      

      : 당신이 찾고있는 구조는 다음과 같을 것 >

    2. 각 패키지 :
      • 추가 패키지
  • (10)는
  • +0

    궁극적 인 목표는 'db'테이블의 각 항목을 키로 선택한 다음 각 키 그 '키/테이블'아래의 데이터베이스에있는 다양한 '값'을 모두 가지고 있습니다. – user616

    +0

    첫 번째 배열에 두 번째 배열을 추가하려고 시도합니다. 내 엉덩이를 찰니다. – user616

    1

    JS 배열은 암시 적 배열 당신이있어하는 것은 완벽하게 유효한 JS 배열, 작성 한 것과 같습니다 인덱스 0에서 시작하여, 키 입력이 있습니다

    var x = []; // create new empty array 
    x[0] = {"key1": .... }; // first object 
    x[1] = {"key2": ....} // second object 
    

    주 당신의 {} 하위의 내용 -objects가 유효하지 않습니다.

    결코 손으로 JSON 문자열을 만들어서는 안됩니다. 너무 신뢰할 수없고 엉망진창입니다. 네이티브 데이터 구조 (PHP 배열/객체)를 사용하는 것이 더 쉽습니다. 그런 다음 json_encode()을 사용하는 것이 더 쉽습니다. 프로세스의 다른 쪽 끝에서 똑같이 - 문자열을 수동으로 디코딩하지 마십시오. 기본 데이터 구조 (예 : json_decode(), JSON.parse())로 변환 한 다음 기본 구조를 직접 처리하십시오.

    기본적으로 JSON은 조작 형식이 아닌 전송 형식입니다.

    +0

    +1 js의 JSON 형식에 대해 설명합니다. :) –

    관련 문제