PHP JSON en terugbelfuncties

P

In dit artikel leert u over het JSON-formaat en de beschikbare PHP-functies. We zullen ook kijken naar de callback-functies in PHP. Dus laten we beginnen.

Wat is JSON?

JSON staat voor Javascript Object Notation. Het is een structuur om de gegevens in een meer leesbare vorm weer te geven. JSON wordt over de hele wereld door bijna alle talen gebruikt en speelt daarom een ​​belangrijke rol bij het doen van platformonafhankelijke verzoeken en het ontvangen van reacties.

Elke taal kan JSON lezen, dus de meeste API-aanroepen worden gebruikt JSON-invoergegevens en antwoorduitvoer. Er zijn enkele ingebouwde JSON-functies in PHP.

  1. json_encode()
  2. json_decode()

json_encode wordt gebruikt om een ​​waarde te coderen of om te zetten in JSON-formaat. Kijk naar het voorbeeld hieronder.

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

echo json_encode($age);
?>

json_decode wordt gebruikt om het JSON-object terug te converteren of te decoderen naar een associatieve array (sleutel-waarde-paren) of een PHP-waarde. Kijk naar het volgende voorbeeld.

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

var_dump(json_decode($jsonobj));
?>

De tweede parameter van json_decode is een boolean. Als het is ingesteld op false, retourneert het een object. Als het is ingesteld op waar, retourneert het een associatieve array. Het volgende voorbeeld maakt gebruik van de tweede parameter van json_decode.

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

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

Hoe toegang te krijgen tot de json_decode-retourwaarden?

Zoals we hierboven zien, retourneert json_decode standaard een object en een associatieve array wanneer de tweede parameter waar wordt. We zullen u voorbeelden laten zien om toegang te krijgen tot waarden van elk van deze uitgangen.

Voorbeeld 1 - json_decode retourneert object

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

$obj = json_decode($jsonobj);

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

Voorbeeld 2 - json_decode retourneert een associatieve array

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

$arr = json_decode($jsonobj, true);

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

Hoe loop je door de json_decode-array?

Zoals we weten, retourneert json_decode een associatieve array. Foreach-lus heeft dus toegang tot zowel de sleutels als hun waarden in json_decode. Bekijk het volgende voorbeeld waarin we het resultaat json_decode herhalen.

Voorbeeld

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

$arr = json_decode($jsonobj, true);

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

Callback-functies in PHP

Een functie die als argument aan een andere functie wordt doorgegeven, wordt een callback-functie genoemd. U kunt uw eigen callback-functie definiëren en doorgeven aan een andere functie. Geef in dit geval gewoon de naam van de functie door als een string. Bekijk het volgende voorbeeld van een eenvoudige callback-functie 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 en 8 kunnen nu een anonieme functie doorgeven als callback-functie. In het volgende voorbeeld leert u hoe u een anonieme functie doorgeeft als callback-functie in PHP.

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

Hoe de door de gebruiker gedefinieerde functie als callback-functie te gebruiken?

Gebruik, net als een normale functie, argumentvariabelen in uw functie. Geef deze functie nu door als een callback-functie.

Voorbeeld

<?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");
?>

Omdat je nu bekend bent met het JSON-formaat, json_encode, json_decode en callback-functies in PHP. In het volgende gedeelte leren we over twee eenvoudige, maar zeer gemakkelijke en belangrijke concepten van PHP.

Wat is include keyword in PHP?

Door het trefwoord in PHP op te nemen, kunt u een extern bestand met PHP-script in het huidige bestand gebruiken. Het voorkomt dat we de code van het bestand steeds opnieuw moeten schrijven overal waar we de code willen gebruiken.

Zonder het include-sleutelwoord te gebruiken, kan de code rommelig of overbodig zijn. Om het probleem van redundantie op te lossen, biedt PHP twee sleutelwoorden, include en required. Logisch, ze doen hetzelfde, maar zijn verschillend van elkaar. Laten we ze een voor een doornemen!

Wat is het verschil tussen opnemen en vereisen in PHP?

omvattenvereisen
Zoekwoord opnemen maakt het mogelijk om het stukje code in een extern bestand te gebruiken in uw bestaande code. Voeg gewoon het bestand bovenaan het PHP-script toe met het trefwoord include en je hebt toegang tot de code van dat bestand in je huidige code. Hier is het belangrijkste dat het bestand dat u opgeeft in het trefwoord include niet bestaat of een fout bevat. Het produceert E_WARNING maar stopt uw ​​script niet.Aan de andere kant wordt het vereiste trefwoord ook gebruikt om externe codebestanden toe te voegen aan het huidige PHP-script. Maar bij elke vorm van storing in het bestand, of in het geval van een ontbrekend bestand, moet de functie E_COMPILE_ERROR produceren en kan het script niet worden uitgevoerd. Het zal het proces stoppen.
PHP opnemen versus vereisen

Wat is beter om te gebruiken buiten opnemen of vereisen?

De keuze tussen include en required hangt af van de use case of het scenario.

Als je werkt op een platform waarin hoge veiligheid voorop staat. In dit geval moet u het vereiste trefwoord gebruiken. Omdat het vereiste sleutelwoord niet toestaat dat het script wordt uitgevoerd voor een fout in het bijgevoegde bestand of in het geval dat het bestand niet wordt gevonden.

Als u wilt dat uw script niet stopt vanwege het meegeleverde bestand, kunt u in dit geval de functie opnemen gebruiken. Het zal u erkennen over het probleem met behulp van de E_WARNING-fout.

Syntaxis van opnemen en vereisen

include 'filename';

or

require 'filename';

Voorbeeld van Sleutelwoord opnemen in PHP

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

Voorbeeld van een vereist trefwoord in PHP

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

U kunt officiële documentatie vinden over: json_encode, json_decode, en PHP Bel terug functies.

Voeg commentaar toe

Tutor netwerk

Leer PHP van A tot Z