PHP JSON și funcții de apel invers

P

În acest articol, veți afla despre formatul JSON și despre funcțiile PHP disponibile. De asemenea, ne vom uita la funcțiile de apel invers în PHP. Asadar, hai sa incepem.

Ce este JSON?

JSON înseamnă Javascript Object Notation. Este o structură pentru a reprezenta datele într-o formă mai lizibilă. JSON este folosit în întreaga lume de aproape toate limbile, prin urmare joacă un rol important în efectuarea de solicitări multiplatforme și obținerea de răspunsuri.

Fiecare limbă este capabilă să citească JSON, așa că majoritatea apelurilor API sunt folosite date de intrare JSON și ieșire de răspuns. Există câteva funcții JSON încorporate în PHP.

  1. json_encode()
  2. json_decode()

json_encode este folosit pentru a codifica sau converti o valoare în format JSON. Uită-te la exemplul de mai jos.

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

echo json_encode($age);
?>

json_decode este folosit pentru a converti sau decoda înapoi obiectul JSON într-o matrice asociativă (perechi cheie-valoare) sau o valoare PHP. Uită-te la următorul exemplu.

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

var_dump(json_decode($jsonobj));
?>

Al doilea parametru al json_decode este un boolean. Dacă este setat la false, returnează un obiect. Dacă este setat la adevărat, returnează o matrice asociativă. Următorul exemplu folosește al doilea parametru al json_decode.

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

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

Cum se accesează valorile returnate json_decode?

După cum vedem mai sus, json_decode returnează un obiect în mod implicit și o matrice asociativă atunci când al doilea parametru devine adevărat. Vă vom arăta exemple pentru a accesa valori din fiecare dintre aceste rezultate.

Exemplul 1 – json_decode returnează obiectul

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

$obj = json_decode($jsonobj);

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

Exemplul 2 – json_decode returnează o matrice asociativă

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

$arr = json_decode($jsonobj, true);

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

Cum să faci bucla prin matricea json_decode?

După cum știm, json_decode returnează o matrice asociativă. Deci, bucla foreach poate accesa atât cheile, cât și valorile acestora în json_decode. Uitați-vă la următorul exemplu în care repetăm ​​rezultatul json_decode.

Exemplu

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

$arr = json_decode($jsonobj, true);

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

Funcții de apel invers în PHP

O funcție transmisă ca argument unei alte funcții se numește funcție de apel invers. Puteți să vă definiți propria funcție de apel invers și să o transmiteți unei alte funcții. În acest caz, treceți doar numele funcției ca șir. Uitați-vă la următorul exemplu de funcție simplă de apel invers în 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 și 8 pot trece acum o funcție anonimă ca funcție de apel invers. În exemplul următor, veți învăța cum să treceți o funcție anonimă ca funcție de apel invers în PHP.

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

Cum se utilizează funcția definită de utilizator ca funcție de apel invers?

La fel ca o funcție normală, utilizați variabile argument în funcția dvs. Acum, transmiteți această funcție ca o funcție de apel invers.

Exemplu

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

Deoarece acum sunteți familiarizat cu formatul JSON, json_encode, json_decode și funcțiile de apel invers în PHP. În secțiunea următoare, vom afla despre două concepte simple, dar foarte ușoare și importante ale PHP.

Ce este include cuvântul cheie în PHP?

Includerea cuvântului cheie în PHP permite utilizarea unui fișier extern cu script PHP, în fișierul curent. Ne scutește de a scrie codul fișierului din nou și din nou oriunde dorim să-i folosim codul.

Fără a utiliza cuvântul cheie include, codul poate fi dezordonat sau redundant. Pentru a rezolva problema redundanței, PHP oferă două cuvinte cheie, include și require. În mod logic, fac același lucru, dar sunt diferiți unul de celălalt. Să le parcurgem unul câte unul!

Care este diferența dintre include și require în PHP?

includenecesita
Includeți cuvântul cheie permite utilizarea fragmentului de cod într-un fișier extern, în codul dvs. existent. Doar adăugați fișierul în partea de sus a scriptului PHP folosind cuvântul cheie include și puteți accesa codul acelui fișier în codul dvs. curent. Aici, lucrul important este, dacă fișierul pe care îl specificați în cuvântul cheie include nu există sau conține vreo eroare în el. Va produce E_WARNING, dar nu va opri scriptul.Pe de altă parte, cuvântul cheie require este folosit și pentru a adăuga fișiere de cod externe în scriptul PHP curent. Dar în cazul oricărui tip de eșec în fișier sau în cazul unui fișier lipsă, necesită ca funcția să producă E_COMPILE_ERROR și nu permite script-ului să se execute. Acesta va opri procesul.
PHP Include vs Require

Care este mai bine să folosiți în afara include sau require?

Alegerea între include și cere depinde de cazul de utilizare sau de scenariu.

Dacă lucrați pe o platformă în care securitatea ridicată este principala preocupare. În acest caz, trebuie să utilizați cuvântul cheie necesar. Deoarece cuvântul cheie cerut nu permite script-ului să se execute pentru orice eroare în fișierul atașat sau în cazul în care fișierul nu a fost găsit.

Dacă doriți ca scriptul să nu se oprească din cauza fișierului inclus, puteți utiliza funcția include în acest caz. Vă va confirma problema folosind eroarea E_WARNING.

Sintaxa include și require

include 'filename';

or

require 'filename';

Exemplu de includere a cuvântului cheie în PHP

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

Exemplu de cuvânt cheie require în PHP

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

Puteți afla documentația oficială despre json_encode, json_decode, și PHP suna inapoi funcții.

Adaugă comentariu

Rețeaua de tutori

Învață PHP de la A la Z