2016-10-04 4 views
-3

여기 내 PHP 배열입니다. JSON으로 변환하고 싶습니다. JSON으로 변환 한 후 데이터베이스에 저장하고 싶을 때보 다 어떻게하면됩니까? 당신이 정말로 데이터베이스에 JSON을 저장해야하는 경우배열을 JSON으로 변환하여 PHP 배열을 데이터베이스에 저장하는 방법은 무엇입니까?

Array 
(
    [0] => 6:30pm 
    [1] => 
) 
Array 
(
    [0] => 8:00pm 
    [1] => 
) 
+0

사용'의 – vher2

+3

가능한 복제를 json_encode' [PHP에서 JSON으로이 배열을 변환하는 방법 (HTTP : // 유래 .com/questions/20255954/how-to-convert-this-array-into-json-in-php) – Alexis

답변

1

, 당신은 json_encodejson_decode를 사용할 수 있습니다.

+0

왜 데이터베이스에 json을 저장하지 않습니까? 항상 괜찮 았지만 이제는 더 의미가 있습니다. https://dev.mysql.com/doc/refman/5.7/en/json.html –

+0

@jakubwrona https://en.wikipedia.org/wiki/First_normal_form – Thomas

+0

농담이지, 안그래? –

0

이 코드는 json_encode($array)으로 사용하면 행에 저장할 수있는 것보다 json 문자열이됩니다.

1

json_encode() - 값의 JSON 표현을 반환합니다.

값의 JSON 표현을 포함하는 문자열을 반환합니다.

숫자로 색인 된 PHP 배열은 JSON 문자열의 배열 리터럴로 변환됩니다.

예제 1 :

<?php 
$ar = array('apple', 'orange', 'banana', 'strawberry'); 
echo json_encode($ar,JSON_FORCE_OBJECT); 
?> 

출력 :

{"0":"apple","1":"orange","2":"banana","3":"strawberry"} 

예제 2는 배열 대신 객체로 출력 할 경우 JSON_FORCE_OBJECT 옵션을 사용할 수 있습니다 :

<?php 
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 
echo json_encode($arr); 
?> 
,

출력 : 당신은 당신이 json_decode() 필요한 데이터를 가져 오기 위해 필요하고이에 따라 다음 후

{"a":1,"b":2,"c":3,"d":4,"e":5} 

.

json_decode()는 -

는 JSON 인코딩 된 문자열을 취하고 PHP 변수로 변환하는 JSON 문자열을 디코드한다.

적절한 PHP 유형으로 json으로 인코딩 된 값을 반환합니다. true, false 및 null 값은 각각 TRUE, FALSE 및 NULL로 반환됩니다. json을 디코딩 할 수 없거나 인코딩 된 데이터가 재귀 제한보다 클 경우 NULL이 반환됩니다.

예 : 출력

<?php 
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
var_dump(json_decode($json)); 
var_dump(json_decode($json, true)); 
?> 

:

object(stdClass)#1 (5) { 
    ["a"] => int(1) 
    ["b"] => int(2) 
    ["c"] => int(3) 
    ["d"] => int(4) 
    ["e"] => int(5) 
} 

array(5) { 
    ["a"] => int(1) 
    ["b"] => int(2) 
    ["c"] => int(3) 
    ["d"] => int(4) 
    ["e"] => int(5) 
} 
관련 문제