작은 따옴표 안에 문자열 추출
본문
아까 질문했는데... 다시 질문해봅니다..
프론트에서 api 를 이용해서 abcde 라는 문자열을 받아와서 DB 에 저장했습니다.
DB값을 확인하다보니 값이 나와야 하는 부분에 Array 라고 적혀있더라구요
들어오는 값을 확인하니
{ user: 'abcde' } 라고 되어 있어서 다 빼고 abced 만저장을 해야하는데 어떤 방법을 써야 할지 모르겠더군효 ㅠ.ㅠ
한분이 이렇게 말씀해주셨는데.. user 쪽에 따옴표가 없어서인지 안되더라구요
$value = json_decode($array,true);
echo $value['user'];
abcde 만 가져올수 있는 방법좀 설명해주실 고수분 부탁드립니다 ( _ _ )
길이는 때마다 틀려질 수 있습니다
답변 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];
}
저 답변이 맞아요..
$value = json_decode($array,true); 이 구간에 $array를 넘겨받은 배열명으로 바꾸셔야 해요