Basit xml nesne

2 Cevap php

merhaba ben bir $ _SESSION bir SimpleXMLElement değerleri kaydetmek için çalışıyorum ama değerler "SimpleXMLElement nesnesi" olarak girilir. Aşağıdaki kodu:

$xml = new SimpleXMLElement($auth_info);
$_SESSION[userName] = $xml->profile->preferredUsername; (garfx)
$_SESSION[email] =  $xml->profile->verifiedEmail;
$_SESSION[givenName] =  $xml->profile->name->givenName;
$_SESSION[lastName] =  $xml->profile->name->familyName;

Sonuçlar örnek

Array
(
[userName] => SimpleXMLElement Object
()
)

i istiyorum

Array
(
[userName] => garfx

)

2 Cevap

SimpleXML elemanları dizeleri olarak kullanılabilir, ancak bir dize onları "cast" gerekir.

PHP Döküm bir değere veri türünü önek tarafından yapılır,

böylece, örneğin,

$foo = 1;
$bar = (string)$foo;

$bar karakteri "1" içeren bir dize olur.

Yukarıdaki için çözüm olacaktır: -

$xml = new SimpleXMLElement($auth_info);
$_SESSION[userName] = (string)$xml->profile->preferredUsername; // (garfx)
$_SESSION[email] = (string)$xml->profile->verifiedEmail;
$_SESSION[givenName] = (string)$xml->profile->name->givenName;
$_SESSION[lastName] = (string)$xml->profile->name->familyName;

Bir (string) olarak döküm

$xml = new SimpleXMLElement($auth_info);
$_SESSION[userName] = (string)$xml->profile->preferredUsername;
$_SESSION[email] = (string)$xml->profile->verifiedEmail;
$_SESSION[givenName] = (string)$xml->profile->name->givenName;
$_SESSION[lastName] = (string) $xml->profile->name->familyName;