PHP JSON e funzioni di callback

P
Filtri PHP - Convalida e Sanificazione
Regex in PHP

In questo articolo imparerai il formato JSON e le sue funzioni PHP disponibili. Inoltre, esamineremo le funzioni di callback in PHP. Quindi iniziamo.

Cos'è JSON?

JSON sta per Javascript Object Notation. È una struttura per rappresentare i dati in una forma più leggibile. JSON è utilizzato in tutto il mondo da quasi tutte le lingue, quindi svolge un ruolo importante nell'effettuare richieste multipiattaforma e ottenere risposte.

Ogni lingua è in grado di leggere JSON, quindi la maggior parte delle chiamate API vengono utilizzate dati di input JSON e output di risposta. Ci sono alcune funzioni JSON integrate in PHP.

  1. json_encode()
  2. json_decode()

json_encode viene utilizzato per codificare o convertire un valore in formato JSON. Guarda l'esempio qui sotto.

<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);

echo json_encode($age);
?>

json_decode viene utilizzato per convertire o decodificare l'oggetto JSON in un array associativo (coppie chiave-valore) o un valore PHP. Guarda il seguente esempio.

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

var_dump(json_decode($jsonobj));
?>

Il secondo parametro di json_decode è un booleano. Se è impostato su false, restituisce un oggetto. Se è impostato su true, restituisce un array associativo. L'esempio seguente utilizza il secondo parametro di json_decode.

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

var_dump(json_decode($jsonobj, true));
?>

Come accedere ai valori di ritorno di json_decode?

Come vediamo sopra, json_decode restituisce un oggetto per impostazione predefinita e un array associativo quando il secondo parametro diventa true. Ti mostreremo esempi per accedere ai valori da ciascuno di questi output.

Esempio 1 – json_decode restituisce l'oggetto

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

$obj = json_decode($jsonobj);

echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>

Esempio 2 – json_decode restituisce un array associativo

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

$arr = json_decode($jsonobj, true);

echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>

Come eseguire il ciclo attraverso l'array json_decode?

Come sappiamo, json_decode restituisce un array associativo. Quindi, il ciclo foreach può accedere sia alle chiavi che ai loro valori in json_decode. Guarda il seguente esempio in cui iteriamo sul risultato json_decode.

Esempio

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

$arr = json_decode($jsonobj, true);

echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>

Funzioni di callback in PHP

Una funzione passata come argomento a un'altra funzione è chiamata funzione di callback. È possibile definire la propria funzione di callback e passarla a un'altra funzione. In questo caso, basta passare il nome della funzione come stringa. Guarda il seguente esempio di una semplice funzione di callback in PHP.

<?php
function my_callback($item) {
  return strlen($item);
}

$strings = ["apple", "orange", "banana", "coconut"];
$lengths = array_map("my_callback", $strings);
print_r($lengths);
?>

PHP 7 e 8 possono ora passare una funzione anonima come funzione di callback. Nell'esempio seguente imparerai come passare una funzione anonima come funzione di callback in PHP.

<?php
$strings = ["apple", "orange", "banana", "coconut"];
$lengths = array_map( function($item) { return strlen($item); } , $strings);
print_r($lengths);
?>

Come utilizzare la funzione definita dall'utente come funzione di callback?

Proprio come una normale funzione, usa le variabili di argomento nella tua funzione. Ora, passa questa funzione come funzione di callback.

Esempio

<?php
function exclaim($str) {
  return $str . "! ";
}

function ask($str) {
  return $str . "? ";
}

function printFormatted($str, $format) {
  // Calling the $format callback function
  echo $format($str);
}

// Pass "exclaim" and "ask" as callback functions to printFormatted()
printFormatted("Hello world", "exclaim");
printFormatted("Hello world", "ask");
?>

Poiché ora hai familiarità con il formato JSON, json_encode, json_decode e le funzioni di callback in PHP. Nella prossima sezione impareremo due concetti semplici, ma molto facili e importanti di PHP.

Che cos'è la parola chiave include in PHP?

Includere la parola chiave in PHP consente di utilizzare un file esterno con script PHP, nel file corrente. Ci evita di scrivere il codice del file ancora e ancora ovunque vogliamo usare il suo codice.

Senza utilizzare la parola chiave include, il codice può essere disordinato o ridondante. Per risolvere il problema della ridondanza, PHP fornisce due parole chiave, include e require. Logicamente, fanno la stessa cosa ma sono diversi l'uno dall'altro. Esaminiamoli uno per uno!

Qual è la differenza tra include e require in PHP?

includererichiedere
Includi parola chiave consente di utilizzare il pezzo di codice in un file esterno, nel codice esistente. Basta aggiungere il file nella parte superiore dello script PHP utilizzando la parola chiave include e puoi accedere al codice di quel file nel codice corrente. Qui, la cosa importante è se il file che specifichi nella parola chiave include non esiste o contiene errori. Produrrà E_WARNING ma non interromperà il tuo script.D'altra parte, la parola chiave require viene utilizzata anche per aggiungere file di codice esterno nello script PHP corrente. Ma su qualsiasi tipo di errore nel file, o nel caso di un file mancante, richiede che la funzione produca E_COMPILE_ERROR e non consente l'esecuzione dello script. Fermerà il processo.
PHP Includi vs Richiedi

Quale è meglio usare per includere o richiedere?

La scelta tra include e require dipende dal caso d'uso o dallo scenario.

Se stai lavorando su una piattaforma in cui l'elevata sicurezza è la preoccupazione principale. In questo caso, è necessario utilizzare la parola chiave richiesta. Poiché la parola chiave richiesta non consente l'esecuzione dello script per qualsiasi errore nel file allegato o in caso di file non trovato.

Se vuoi che lo script non si interrompa a causa del file incluso, in questo caso puoi utilizzare la funzione include. Ti riconoscerà il problema utilizzando l'errore E_WARNING.

Sintassi di include e require

include 'filename';

or

require 'filename';

Esempio di parola chiave Include in PHP

<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>

Esempio di parola chiave require in PHP

<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>

Puoi imparare la documentazione ufficiale su json_encode, json_decodee PHP richiama funzioni.

Filtri PHP - Convalida e Sanificazione
Regex in PHP

1 commento

  • Hola. Come stai? Soia Alberto del Dipartimento di Prensa. Muchas gracias por atenderme.

    Egli pensa che podría interesarte come podemos hacer que tu empresa aparezca en más de 50 periódicos digitalis como noticia (No será un anuncio) por una única cuota al mes sin permanencia. Las notizie non se borrarán

    Periódicos de gran autoridad mencionarán la web de la tua presa per lograr una maggiore reputazione e posizione web.

    Questo servizio include tanto la redazione della nota come l'analisi delle parole chiave.

    Si pudieras proporcionarme un teléfono, me encantaría programar una llamada para hablar contigo, resolver cualquier duda sin compromiso y explicar come puedes disfrutar del *mes gratuito* sin permanencia.

    Grazie mille!

Rete di tutor

Condividi questo

Impara PHP dalla A alla Z