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 정의 없이 바로 뽑아 사용하면 됩니다.
</p>
<p><?php</p>
<p>echo $memberInfo->xe_validator_id;
echo $memberInfo->te2[0];</p>
<p>?>
으로 하시면 됩니다.
답변에 대한 댓글 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;
?>
로 출력 하였습니다.
배열로 들어가는 값이 아니었네요.
정말 감사드려요! 새해 복 많이 받으세요!!!
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인