unserialize... 배열 값 추출 문의 채택완료
https://sir.kr/qa/484649?unanswered=0
이전 질문에 베르만 님이 답변 주셨는데요..
object 의 array 의 값을 어떻게 추출해야할까요?;;;;
이래저래 해봐도 잘 모르겠고,,, 계속 뻘짓 중이네요ㅠㅠ
$memberStr = 'O:8:"stdClass":3:{s:15:"xe_validator_id";s:20:"modules/member/tpl/1";s:2:"te";a:3:{i:0;s:0:"";i:1;s:0:"";i:2;s:0:"";}s:3:"te2";a:3:{i:0;s:3:"010";i:1;s:4:"1234";i:2;s:4:"5678";}}';
$memberInfo = unserialize($memberStr);
print('<pre>');
print_r($memberInfo);
print('</pre>');
/*
stdClass Object
(
[xe_validator_id] => modules/member/tpl/1
[te] => Array
(
[0] =>
[1] =>
[2] =>
)
[te2] => Array
(
[0] => 010
[1] => 1234
[2] => 5678
)
)
*/
----- 요기까지가 답변주셨던 내용이구요!
te2의 값을 추출하기위해
// Simple class definition
class User {
// Class data
public $te2 = '';
// Print data
public function PrintData() {
echo 'User TEL : ' . $this->te2 . '. <br />';
}
}
// Create a user
$memberInfo = unserialize($memberStr);
// Print data
$memberInfo->PrintData();
계속 오류가 나네요 ㅠ
도움을 요청합니다!
답변 1개
대댓에도 달아드렸는데
언시리얼라이즈로 풀어놓은 상태 자체가 standard class 이기 때문에
별도 class 정의 없이 바로 뽑아 사용하면 됩니다.
으로 하시면 됩니다.
답변에 대한 댓글 2개
베르만님... 질문 좀 더 드릴게요!;;
말씀하신대로 값을 뽑았는데요..
자기 소개 부분(intro_1) 이라는 값은 출력이 안돼고 깨지네요...
제가 놓치는 부분이 있나 싶어서.. 여쭙습니다...
O:8:"stdClass":5:{s:15:"xe_validator_id";s:20:"modules/member/skins";s:18:"success_return_url";s:49:"~~~~";s:2:"te";a:3:{i:0;s:0:"";i:1;s:0:"";i:2;s:0:"";}s:3:"te2";a:3:{i:0;s:3:"010";i:1;s:4:"1234";i:2;s:4:"1234";}s:7:"intro_1";s:176:"페이스북 피드에 소개된 글을 보고 알게 되었습니다.";}
-> 해결했습니다!
<?php
echo $memberInfo->xe_validator_id;
echo $memberInfo->intro_1;
?>
로 출력 하였습니다.
배열로 들어가는 값이 아니었네요.
정말 감사드려요! 새해 복 많이 받으세요!!!
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인