Visualizzazione risultati 1 fino 21 di 21

Discussione: Array di pagina esterna

  1. #1
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Question Array di pagina esterna

    Ciao a tutti.
    Ho la seguente pagina.
    Codice:
    {
      "id": "123", 
      "from": {
        "name": "Nome"
      }
    }
    Devo stampare l'id, quindi ho scritto questo:
    Codice PHP:
    $array = array(file_get_contents("link alla pagina precedente"));
    echo
    $array['id'];
    Ma compare una pagina bianca.
    Dovrei inoltre stampare "Nome": dovrei scrivere questo?
    Codice PHP:
    echo $array['from']['name'];
    Grazie.

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Quei dati sono in formato JSON. Puoi usare json_decode per trasformarlo in un array di PHP.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ho provato in tutti i modi ma non è cambiato niente.

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    "in tutti i modi" non aiuta a capire cosa non vada, prova questo.

    Codice PHP:
    $pagina = file_get_contents($url);
    $array = json_decode( $pagina );

    echo
    var_dump($array);

  5. #5
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    ...e poi come stampo l'ID?
    Codice PHP:
    $array = var_dump(json_decode(file_get_contents("https://graph.facebook.com/***")));
    echo
    $array['id'];
    Ma var_dump() stampa subito l'array?!?

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    var_dump() stampa l'array, così sai cosa c'è dentro, e puoi usare l'indice corretto.

    Se non ti stampa niente, allora il problema è a monte —e.g., connessioni server2server?

  7. #7
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ma quando scrivo var_dump() lo stampa: questo non significa che riesce a ricevere i dati?
    Però ci sono delle parole strane...
    Ultima modifica di radiodelmomento : 05-04-2012 alle ore 21.38.00

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Ah, json_decode() ti restituisce un oggetto, non un array. Benvenuto nell'oop.

    Codice PHP:
    echo $array->id;
    Da li, improvvisi.
    Ultima modifica di dreadnaut : 05-04-2012 alle ore 21.29.06

  9. #9
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Grazie mille!
    Come dovrei fare con un array (esempio qui, dovrei avere un array con gli id delle foto)?
    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Btw, non si chiamano "memes". Al massimo sarebbero "meme" in italiano, visto che non porta il plurale di parole straniere, ma in ogni caso si tratta di "rage face".
    Sì, l'ho scoperto dopo. Dovrei rifare tutto e Google non capirebbe più niente!
    All'inizio avevo questo dubbio e ho visto su Google quale era più cercato.

    Thanks.
    Ultima modifica di radiodelmomento : 05-04-2012 alle ore 21.45.13

  10. #10
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Grazie mille!
    Come dovrei fare con un array (esempio qui, dovrei avere un array con gli id delle foto)?
    Fai sempre var_dump, e guardi cosa ci sia dentro la variabile. Se c'è un oggetto, accedi ai campi con ->, se c'è un array lo usi normalmente. Se sono uno dentro l'altro...

    Codice PHP:
    $qualcosa = json_decode( ... );
    echo
    $qualcosa->campo_tipo_array['indice'];

  11. #11
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Cosa sbaglio qui?
    Codice PHP:
    <?
    $array
    = json_decode(file_get_contents("https://graph.facebook.com/390829467607940/photos"));
    $foreach = $array->data->id;
    foreach(
    $foreach as $value){
    echo
    $value."<br />";
    }
    ?>
    Ottengo solo una pagina vuota.
    Con var_dump() stampa quella scritta "strana" dell'altro messaggio.

  12. #12
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Quella scritta "strana" che per quale malsano motivo hai cancellato dal tuo post sopra è il contenuto della variabile, cioé la decodifica dello spezzone di json che ti arriva da facebook.

    Con quello davanti, sai come accedere ai vari campi. Fine, non c'è altro da spiegare, addio

  13. #13
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Noooooo, non mi abbandonare!
    Cosa sbaglio in quel codice?
    Non trovo parti dove potrebbero esserci errori o parti dove forse potrebbero esserci errori (secondo me).

  14. #14
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Se ti serve vedere tutti gli errori, come sempre, metti in cima al tuo script
    Codice PHP:
    error_reporting(E_ALL);

  15. #15
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Codice PHP:
    $fore = $array->data->id;
    Notice: Trying to get property of non-object in /membri/lucart98/Tests/fb.php on line 4

    Warning: Invalid argument supplied for foreach() in /membri/lucart98/Tests/fb.php on line 6
    Se invece metto questo...
    Codice PHP:
    $fore = $array['data']['id'];
    Fatal error: Cannot use object of type stdClass as array in /membri/lucart98/Tests/fb.php on line 4

  16. #16
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova così:
    Codice PHP:
    <?
    $array
    = json_decode(file_get_contents('https://graph.facebook.com/390829467607940/photos'));
    $foreach = $array->data;
    foreach(
    $foreach as $value){
    echo
    $value->id,'<br />';
    }
    ?>

  17. #17
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Grazie mille!
    Quindi la virgola è come il punto?!?
    Comunque, adesso dovrei aggiungere le pagine successive.
    Sapendo che ogni pagina ha 25 foto e la pagina successiva è la ricavo in questo modo, come sistemo un while?
    Codice PHP:
    $paging = $array->paging->next;
    Grazie ancora.

  18. #18
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Quindi la virgola è come il punto?!?
    No.
    http://php.net/manual/en/function.echo.php
    Codice PHP:
    void echo ( string $arg1 [, string $... ] )

  19. #19
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Boh, io continuo ad usare il punto così non mi confondo.
    Per quanto riguarda il while come dovrei fare?
    Grazie.

  20. #20
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova così:
    Codice PHP:
    <?php
    $next
    = true;
    $url = 'https://graph.facebook.com/390829467607940/photos';
    while(
    $next){
    $array = json_decode(file_get_contents($url));
    $foreach = $array->data;
    foreach(
    $foreach as $value){
    echo
    $value->id,'<br />';
    }
    if(
    $next = isset($array->paging->next))
    $url = $array->paging->next;
    }
    ?>

  21. #21
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Grazie mille!
    Io, ovviamente, mi stavo complicando la vita ed ero arrivato a 56 righe quando invece ne bastavano 14!
    Grazie ancora!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •