2014-06-23 2 views
-7

, 내가 JSON에 다음 코드를 가지고 :PHP 배열을 JSON 배열로 변환하는 방법은 무엇입니까? 예를 들어

나는 위의 코드 echo/print에 사용해야 어떤 PHP 코드
{ 
    "tag": "img", 
    "attr": [ 
{ 
     "alt": "text", 
     "src": "url", 
     "void": "true", 
     "all": "true" 
} 
] 
} 

?

$arr = array (
    "tag" => "img", 
$attr = array (
    "alt" => "text", 
    "src" => "url", 
    "void" => "true", 
    "all" => "true" 
) 
); 

그리고 : 나는이 시도

echo $arr = json_encode($arr); 

을하지만 오류가 발생합니다. 어떤 아이디어?

+4

** 어떤 오류가 나옵니까 ** 내기가'php5-json'이 설치되어 있지 않습니다 – Bojangles

+0

어떤 오류가 발생 했습니까? 완전하고 정확한 스택 추적을 지정할 수 있습니까? 우리는 그것을 필요로한다. – Unihedron

답변

1

배열 선언이 잘못되었습니다. 그것은이어야합니다 :

+1

'$ attr ='을 사용해도 작동한다는 것을 알면 놀라실 것입니다. 그러나'attr'을 색인으로 사용하는 대신에 수치 대신. 나는 왜 그것이이 방법으로 작동하는지 전혀 모른다. – Ohgodwhy

+0

@Ohgodwhy 허, 네 말이 맞아. 확실히 내가 예상했던 것만은 아닙니다. – Jim

+2

@Ohgodwhy식이 할당이기 때문에 작동한다고 생각하십시오. 따라서'$ attr'은 배열의 값을 가져옵니다. 배열의 값은 값이 반환됩니다. 즉, 키가 없습니다. – Jim

2

변경에 -

$arr = array (
    "tag" => "img", 
    "attr" => array (
     "alt" => "text", 
     "src" => "url", 
     "void" => "true", 
     "all" => "true" 
    ) 
); 

즉. $attr = array ( to "attr" => array (

+0

이것이 사실이지만 OP의 원래 형식에서 오류를 생성하지는 않습니다. [이 아이디어를 확인하십시오.] (http://ideone.com/lF9npa) – Ohgodwhy

관련 문제