Buonasera a tutti,
sto perdendo il sonno su un problema...
Parto da un file XML del tipo seguente, generato via API dalla classe subito sotto:
Codice PHP:
<response status="success">
    <
4137071924090694> (Customer unique internal "code")
    <
earned>6021</earned>
    <
redeemed>-6001</redeemed>
    <
balance>20</balance>
    <
balance_equivalent>0.02</balance_equivalent>
    <
earned_equivalent>6.02</earned_equivalent>
    <
redeemed_equivalent>-6</redeemed_equivalent>
    <
first_name>Jane</first_name>
    <
last_name>Doe</last_name>
    </
4137071924090694>
    ...
    </
response
L'estratto della classe di nome "customerBalance" è il seguente:

Codice PHP:
foreach($result->customer as $customer) {
        
$member_card[$i++] = array('customer_rank'=>$k++,
                            
'card_number'=>$customer->card_number,
                            
'customer_code'=>$customer->customer_code,
                            
'customer_first_name'=>$customer->first_name,
                            
'customer_last_name'=>$customer->last_name,
                            
'customer_balance'=>$customer->balance);
    }
    return 
$member_card
mi servono solo pochi dati, rispetto a quelli restituiti dall'XML e dalla chiamata $result->customer as $customer, motivo per il quale mi costruisco e ritorno l'array $member_card.

Nel file principale faccio un "classico"

Codice PHP:
foreach (customerBalance() as $key=>$valore) {
                            
$rank $valore["customer_rank"];
                            
$nome $valore["customer_first_name"];
                            
$cognome $valore["customer_last_name"];
                            
$card $valore["card_number"];
                            
$saldo $valore["customer_balance"];
                            echo 
"<tr>";
                            echo 
"<td>".$rank."</td>";
                            echo 
"<td>".$nome."</td>";
                            echo 
"<td>".$cognome."</td>";
                            echo 
"<td>".$card."</td>";
                            echo 
"<td>".$saldo."</td>";
                            echo 
"</tr>";
                        } 
Fino a qui nulla di strano.

Il problema è che l'array $member_card è un array "sporco", questo è quello che ottengo in output con un "pre":
Codice PHP:
Array
(
    [
0] => Array
        (
            [
customer_rank] => 1
            
[card_number] => SimpleXMLElement Object
                
(
                    [
0] => 5771463452941190
                
)

            [
customer_code] => SimpleXMLElement Object
                
(
                    [
0] => 6086358390657090
                
)

            [
customer_first_name] => SimpleXMLElement Object
                
(
                    [
0] => Stefano
                
)

            [
customer_last_name] => SimpleXMLElement Object
                
(
                    [
0] => Palmisani
                
)

            [
customer_balance] => SimpleXMLElement Object
                
(
                    [
0] => 54654
                
)

        )

    [
1] => Array
        (
            [
customer_rank] => 2
            
[card_number] => SimpleXMLElement Object
                
(
                    [
0] => 8038157418941637
                
)

            [
customer_code] => SimpleXMLElement Object
                
(
                    [
0] => 1803733416109664
                
)

            [
customer_first_name] => SimpleXMLElement Object
                
(
                    [
0] => Emanuela
                
)

            [
customer_last_name] => SimpleXMLElement Object
                
(
                    [
0] => Ciuffri
                
)

            [
customer_balance] => SimpleXMLElement Object
                
(
                    [
0] => 564
                
)

        ) 
Quei SimpleXMLElement mi creano grossi problemi nel caso successivamente debba ordinare, tagliare etc etc.

Ho pensato di tagliare la testa al toro creandomi un secondo array in questa maniera:

Codice PHP:
foreach (customerBalance() as $key=>$valore) {
                            
$rank $valore["customer_rank"];
                            
$nome $valore["customer_first_name"];
                            
$cognome $valore["customer_last_name"];
                            
$card $valore["card_number"];
                            
$saldo $valore["customer_balance"];
                            
$nuovo = array(); // creo nuovo array
                            
$nuovo[$i++]['nome'] = $nome
Ma nel campo nome mi torna sempre quel SimpleXMLElement Object (so anche che non è il modo più corretto, dovrei ciclare nel caso ma questo lo vedrei poi)

Quindi, ricapitolando, se faccio un echo di $nome vedo solo il nome appunto, se uso print_r e vedo effettivamente l'array ho di nuovo il SimpleXMLElement.

Chiedo per favore un aiuto o un consiglio per far si ad arrivare ad avere un array semplicissimo fatto magari cosi

Codice PHP:
Array (
 [
0]  => Array (
   [
nome]=>mario
   
[cognome]=>rossi
)
 [
1] => Array (
   [
nome]=>giuseppe
)

Grazie in anticipo e spero di essere riuscito a spiegarmi