2011-10-27 5 views
-4

현재이 코드가 있습니다.PHP 배열로 바꾸는 방법?

<?php 
$username = 'EMAIL ADDRESS'; 
$password = 'EMAIL ADDRESS'; 
$opts = array(
    'http' => array(
     'method' => 'GET', 
     'header' => sprintf("Authorization: Basic %s\r\nUser-Agent: Foobar!", base64_encode($username.':'.$password)) 
) 
); 

$context = stream_context_create($opts); 
libxml_set_streams_context($context); 
$xml = new SimpleXMLElement(
    "https://mail.google.com/mail/feed/atom", 
    null, 
    true); 
print_r($xml); 
?> 
내가 PHP 코드를

SimpleXMLElement 개체 ([@attributes] => 배열 ([버전] => 0.3) [제목] => Gmail을 실행할 때 나는 다음과 같은 결과를 얻을 수 - 이메일 수신함의 새 메시지 [fullcount] => 1 [link] => SimpleXMLElement 객체 ([@attributes] => 배열 ([rel] => alternate [href] =>http://mail.google.com/mail [ SimpleXMLElement 객체 ([title] => SUBJECT [link] => SimpleXMLElement 객체 ([@attributes] => 텍스트/HTML)) [수정] => 2011-10-27T20 : 12 : 38Z [ > 배열 ([rel] => 대체 [href] => 링크 [type] => text/html)) [modified] => 2011-10-26T1 5 : 45 : 11Z => 2011-10-26T15 : 45 : 11Z [id] => 태그 : gmail.google.com, 2004 : 1383746934228011210 [작성자] => SimpleXMLElement 객체 ([name] => Webs [ 이메일] => 등 이메일)))

나는 결과가 "SimpleXMLElement 개체"를 표시하지 않도록 원하는, 등 만 표시 실제 유용한 정보 (제목, 이메일 내용, 날짜)

str_replace를 사용해 보았지만 작동하지 않습니다. 당신은 XML의 형식에 따라 위의 몇 가지 여분의 경로를 추가해야 할 수도 있습니다

echo "Title: ".$xml->title.", tagline: ".$xml->tagline; 

:

+3

-1 질문은 연구 노력을 표시하지 않습니다. @ 01jayss - print_r은 설명서에서 말하는대로 * 정확하게 동작합니다 *. 당신이 원하는 것을하지 않는다면 아마도 다른 기능이 필요할 것입니다. – Farray

+2

바닐라 icecream (print_r 출력)이 스테이크 (XML 개체)와 같이 맛이 없다는 사실에 불만을 토로하여 Milliways를 비롯하여 우주의 모든 레스토랑에서 웃어 넘기기 만합니다. –

답변

1

같은 것을보십시오.

또한 같이

print_r((array)$xml); 

을 시도 할 수 :

<?php 
$xml = "<x><title>Blah</title><fred>bob</fred></x>"; 
$s = simplexml_load_string($xml); 
print_r((array)$s); 

출력한다 :

Array 
(
    [title] => Blah 
    [fred] => bob 
) 
0

단지 당신에게 사람이 읽을 수있는 출력을 제공합니다()에서 print_r를 사용. XML 또는 JSON으로 변환하여 원하는 내용을보다 잘 준수 할 수 있습니다.

json으로 변환을 시도하십시오.

$json = json_encode($xml); 
echo $json;