테스트 사이트 - 개발 중인 베타 버전입니다

PHP array 질문 드립니다. 채택완료

밤툰스 6년 전 조회 2,485

안녕하세요~ PHP array 관련 질문 드립니다. 

사실 array 시키는게 맞는건지.. 도 모르겠습니다.

아래는 json 으로 값을 받았습니다.

 

Array ( [ritn] => 15afc6f1e97e1637e6abf8d0abc51cfe [act] => modifies [p_json] => [{"p_sn":"81","p_nation":"홍콩"},{"p_sn":"53","p_nation":"이란"}] [p_priority] => )

 

p_sn = 81, p_nation = 홍콩

p_sn = 53, p_nation = 이란

 

식으로 저장을 하려고 하는데요.

값을 어떻게 분리해내야 할지 모르겠어요.

도와주세요~

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

답변 4개

채택된 답변
+20 포인트
6년 전

json_decode($json,true)

 

해당 json데이터를 디코딩 하시면 php배열로 들어옵니다

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

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

ByoungCheolAhn

감사합니다

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

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

복스리
6년 전

</p>

<p> </p>

<p>$json_string = $output;

$data_array = json_decode($json_string);

 </p>

<p>foreach ($data_array['p_json'] as $key => $value){

    echo $value['p_sn']."
";</p>

<p>    echo $value['p_nation']."
";</p>

<p>}</p>

<p>

 

foreach문이돌면서  p_sn값과 , p_nation값이 나오겠죠?

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

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

ByoungCheolAhn

해결하셨으면 공유좀 부탁드려요~

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

답변에 대한 댓글 1개

밤툰스
6년 전
이렇게 해결했습니다.
제 경우 $_POST 로 값을 받는데요.

$arr = array($_POST);

$json = json_decode($arr[0]['p_json'], true); // Array ( [0] => Array ( [p_sn] => 81 [p_nation] => 홍콩 ) [1] => Array ( [p_sn] => 53 [p_nation] => 이란 ) )

for ($i = 0; $i < count($json); $i++) {

$sql = " update `league_nations` set `p_nation` = '".$json[$i]['p_nation']."', `p_priority` = '".$json[$i]['p_priority']."' where p_sn = '".$json[$i]['p_sn']."'; ";

$result = mq($sql);

$p_nation = $json[$i]['p_nation'];

if($result){
echo "<script>alert('$p_nation 수정되었습니다.(us)');location.href='./nation_list.php';</script>";
}else{
echo "<script>alert('$p_nation 수정되지 않았습니다.(us)');location.href='./nation_list.php';</script>";
}

}

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

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

로그인