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개

채택된 답변
+20 포인트

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>';

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
<?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'];
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고