문법에 틀린부분이 있을까요?

문법에 틀린부분이 있을까요?

QA

문법에 틀린부분이 있을까요?

답변 2

본문

제가 다른 언어를 쓰다 php를 하게되었는데요... 다음 코드의 문법에 이상이 있을까요?

우선 상황을 설명드리자면...

 

$memberInfo <- 전화번호, 주소, 소개 등이 이 변수에 다 들어가있어서요..

특정 문자(")로 잘라 배열로 넣고,

배열을 돌면서 전화번호(te2)를 추출하려는데요...계속 빈값이 나와서요..

문법에 이상이 있을까요?;;

 

값의 형태는 다음과 같습니다.

 

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";}}

 

 

==>

 

function memberTel($memberInfo){

    $memberInfos =explode('"' , $memberInfo); //잘라서 배열에 넣음

    $memberTel = ""; //전화번호 

 

    $k = array_search('te2', $memberInfos); //전화번호부분의 배열 인덱스값을 넣고..


    foreach ($memberInfos as $key) {

        if($key == $k+2 || $key == $k+4 || $key == $k+6){ 

          //전화번호가 있을 것으로 추측되는 위치에 값을 넣어서 출력

            $memberTel = $memberTel + $value;

        }

    }

    return $memberTel;

}

이 질문에 댓글 쓰기 :

답변 2

https://www.php.net/manual/en/function.unserialize


$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
        )

)

*/
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 34
© SIRSOFT
현재 페이지 제일 처음으로