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

작은 따옴표 안에 문자열 추출 채택완료

곰탱스 2년 전 조회 2,023

아까 질문했는데... 다시 질문해봅니다..

프론트에서 api 를 이용해서 abcde 라는 문자열을 받아와서 DB 에 저장했습니다.

 

DB값을 확인하다보니 값이 나와야 하는 부분에  Array 라고 적혀있더라구요

들어오는 값을 확인하니 

{ user: 'abcde' } 라고 되어 있어서 다 빼고 abced 만저장을 해야하는데 어떤 방법을 써야 할지 모르겠더군효 ㅠ.ㅠ  

한분이 이렇게 말씀해주셨는데.. user 쪽에 따옴표가 없어서인지 안되더라구요

$value = json_decode($array,true);

echo $value['user'];

 

abcde  만 가져올수 있는 방법좀 설명해주실 고수분 부탁드립니다 ( _ _ )

길이는 때마다 틀려질 수 있습니다 

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

답변 2개

채택된 답변
+20 포인트
지아부
2년 전

Array 라고 되있다면 php에서 이미 Array로 읽었다는것 같은데 { user: 'abcde' } 라고하신 값을 $array로 받으셨다면 db에 $array['user']라고 넣어보시겠어요

 

그게 아니라면 스크립트에서 문자열이 아니라 말씀하신 형태의 Object로 잘못주신거 같습니다. 프론트쪽에서 데이터 넘기는 부분에서 넘기는 변수가 x 였으면 x.user로 줘야되는건 아닌지 한 번 살펴보세요. 

 

만약에 문자열로 말씀하신대로 잘 넘기셨다고하면 아래처럼 정규식으로 찾을 수 있습니다. (아마 아닐듯합니다.)

 

preg_match('/user: \'([^\']+)\'/', "{user: 'abcde'}", $matches);

$value = "";

if(count($matches) > 1) {     $value = $matches[1]; }

 

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

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

2년 전

저 답변이 맞아요.. 

$value = json_decode($array,true); 이 구간에 $array를 넘겨받은 배열명으로 바꾸셔야 해요

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

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

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

로그인