sql 출력 질문 드립니다
본문
wr_1 여분 필드에
{"A":"감자1개","B":"고구마2개","C":"당근5개"}
위 문구 그대로 입력이 되어 있습니다
$kk = array($view['wr_1']);
echo $kk['A']; ==> 출력 값은 감자1개
echo $kk['B']; ==> 출력 값은 고구마2개
echo $kk['C']; ==> 출력 값은 당근 5개
이렇게 되야 하는데
안나오네요 ;;
어떻게 해야 출력이 될수 있을까요??
답변 2
sinbi 님의 답변은 파싱을 이용하신 건데.. json_decode 로 편하게 가능해요.
수정해서 올립니다.
$kk = array();
$str = '{"A":"감자1개","B":"고구마2개","C":"당근5개"}';
$arr = explode(",",trim($str,"{}"));
foreach($arr as $value) {
$item = explode(":", $value);
list($k,$v) = $item;
$kk[trim($k, '""')] = trim($v, '""');
}
echo $kk['A']. '<br>';
echo $kk['B']. '<br>';
echo $kk['C']. '<br>';
$j = json_decode($str);
echo '<hr>object 형식<br>';
var_dump($j);
echo '<hr>';
echo $j->A. '<br>';
echo $j->B. '<br>';
echo $j->C. '<br>';
echo '<hr>array 형식<br>';
$arr = json_decode($str,true);
var_dump($arr);
echo '<hr>';
echo $arr['A']. '<br>';
echo $arr['B']. '<br>';
echo $arr['C']. '<br>';
<?php
$kk = array();
$str = '{"A":"감자1개","B":"고구마2개","C":"당근5개"}';
$arr = explode(",",trim($str,"{}"));
foreach($arr as $value) {
$item = explode(":", $value);
list($k,$v) = $item;
$kk[trim($k, '""')] = trim($v, '""');
}
echo $kk['A'];
echo $kk['B'];
echo $kk['C'];