2013-07-03 3 views
0

저는 twitter에서 std 클래스 객체를 가지고 있고, ids 배열 값을 가져 와서 PHP 변수 $ ids에 넣고 싶습니다. $ids = (15761916,30144785,382747195,19399719).std 객체 클래스를 쉼표로 분리 된 문자열로 변환합니다.

for 루프를 사용하고 phps implode를 사용한다고 상상하지만 어떻게해야할지 모르겠습니다. 배열로 변환하는

stdClass Object 
(
    [ids] => Array 
    (
     [0] => 15761916 
     [1] => 30144785 
     [2] => 382747195 
     [3] => 19399719 

    ) 

    [next_cursor] => 0 
    [next_cursor_str] => 0 
    [previous_cursor] => 0 
    [previous_cursor_str] => 0 
) 
+0

원하는 결과는 무엇입니까? – vikingmaster

+0

제목과 같이 쉼표로 구분 된 문자열입니다. –

+0

$ ids = (15761916,30144785,382747195,19399719) –

답변

4
$ids = "(" . implode(",", $object->ids) . ")"; 
+0

감사합니다. 8 분 후에 대답을 수락 하시겠습니까 –

0

이 기능을 사용

$vars = get_object_vars ($Obj); 
print_r ($vars); 
$ids = implode (",", $vars[ids]); 
+1

하나의 배열 값을 쉼표로 구분 된 문자열로 모든 바스가 원하는. –

+1

@DaGhostmanDimitrov vars에는 요구 사항에 따라 전체 배열 사용이 포함되어 있습니다. –

+0

미안 m8 .. 편집을 보지 못했습니다 : –

1

가장 쉬운 방법이 작동하면 (죄송!) 나는 많이 사용하는 경향하지 않는 한 나도 몰라 stdClass이 같은 개체의 ... ... 배열지도를 사용하는 것입니다

$ids = function (stdClass Object $object) { 
    return implode (",", $object->ids); 
}; 

아마 그런 일이 올바른 구문 내 포에 ... 경우 완전히 확실하지 네. 그거 줘! u는 그래서 u는 할 수있는 수행하여 2 옵션 :

1이 구현되어있는 Serializable Interface

$ids = implode (",", $object->ids); 
0

확장 응답으로 :

난 당신이 그냥 간단하게 할 수있는 habbit에 의해 그것을 람다 함수를 만들어 원하는 출력을 얻을 수있는 직렬화 기능을 사용

public function serialize() { 
    return array_implode(',', $this->ids); 
} 

또는

public function __toString() { 
    return array_implode(',', $this->ids); 
} 

및 사용이된다 : 직렬화

  1. :

    직렬화 ($의 object_instance를);

  2. __toString :

    인쇄 $의 object_instance;

모두

그래서 u는 함수를 사용 또는 인라인 스크립트 array_implode()을 사용하여 여분의 오버 헤드를 추가 할 필요가없는, U에게 원하는 출력을 제공한다.