PHP JSON ug Callback function

P

Niini nga artikulo, mahibal-an nimo ang bahin sa format sa JSON ug ang magamit nga mga function sa PHP. Usab, atong tan-awon ang Callback functions sa PHP. Busa, magsugod kita.

Unsa ang JSON?

Ang JSON nagpasabut sa Javascript Object Notation. Kini usa ka istruktura nga magrepresentar sa datos sa usa ka mas mabasa nga porma. Ang JSON gigamit sa tibuok kalibutan sa halos tanang pinulongan, busa kini adunay importante nga papel sa paghimo sa cross-platform nga mga hangyo ug pagkuha og mga tubag.

Ang matag pinulongan makahimo sa pagbasa sa JSON busa, kadaghanan sa mga tawag sa API gigamit ang JSON input data ug tubag nga output. Adunay pipila ka mga built-in nga JSON function sa PHP.

  1. json_encode()
  2. json_decode()

json_encode gigamit sa pag-encode o pag-convert sa usa ka bili ngadto sa JSON formate. Tan-awa ang pananglitan sa ubos.

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

echo json_encode($age);
?>

json_decode gigamit sa pag-convert o pag-decode balik sa JSON object ngadto sa usa ka associative array (key-value pairs) o usa ka PHP value. Tan-awa ang mosunod nga pananglitan.

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

var_dump(json_decode($jsonobj));
?>

Ang ikaduhang parametro sa json_decode kay boolean. Kon kini gibutang sa bakak, kini mobalik sa usa ka butang. Kung kini gibutang sa tinuod, kini nagbalik sa usa ka panag-uban nga laray. Ang mosunod nga pananglitan naggamit sa ikaduhang parameter sa json_decode.

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

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

Giunsa ang pag-access sa mga kantidad sa pagbalik sa json_decode?

Sama sa atong nakita sa ibabaw nga ang json_decode nagbalik sa usa ka butang pinaagi sa default ug usa ka associative array kung ang ikaduha nga parameter mahimong tinuod. Ipakita namon kanimo ang mga pananglitan aron ma-access ang mga kantidad gikan sa matag usa niini nga mga output.

Pananglitan 1 - json_decode mibalik sa butang

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

$obj = json_decode($jsonobj);

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

Pananglitan 2 - json_decode mibalik sa usa ka associative array

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

$arr = json_decode($jsonobj, true);

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

Giunsa pag-loop ang json_decode array?

Sama sa nahibal-an namon, ang json_decode nagbalik sa usa ka associative array. Busa, ang foreach loop maka-access sa mga yawe ug sa ilang mga bili sa json_decode. Tan-awa ang mosunod nga pananglitan diin atong gisubli ang resulta sa json_decode.

Panig-ingnan

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

$arr = json_decode($jsonobj, true);

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

Mga function sa callback sa PHP

Ang usa ka function nga gipasa isip argumento sa laing function gitawag nga callback function. Mahimo nimong ipasabut ang imong kaugalingon nga function sa callback ug ipasa kini sa lain nga function. Sa kini nga kaso, ipasa lang ang ngalan sa function ingon usa ka hilo. Tan-awa ang mosunod nga pananglitan sa usa ka yano nga callback function sa PHP.

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

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

Ang PHP 7 ug 8 mahimo nang makapasa sa usa ka anonymous function isip callback function. Sa mosunod nga pananglitan, makakat-on ka kung unsaon pagpasa ang usa ka anonymous function isip callback function sa PHP.

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

Giunsa paggamit ang function nga gitakda sa user ingon function sa callback?

Sama sa usa ka normal nga function, gamita ang mga variable nga argumento sa imong function. Karon, ipasa kini nga function isip callback function.

Panig-ingnan

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

Ingon nga pamilyar ka karon sa format sa JSON, json_encode, json_decode, ug mga function sa callback sa PHP. Sa sunod nga seksyon, makakat-on kita mahitungod sa duha ka yano, apan sayon ​​kaayo, ug importante nga mga konsepto sa PHP.

Unsa ang naglakip sa keyword sa PHP?

Ilakip ang keyword sa PHP nagtugot sa paggamit sa usa ka eksternal nga file nga adunay PHP script, sa kasamtangan nga file. Kini nagluwas kanato gikan sa pagsulat sa code sa file nga balik-balik bisan asa nga gusto natong gamiton ang code niini.

Kung wala gamita ang gilakip nga keyword, ang code mahimong gubot o sobra. Aron masulbad ang problema sa redundancy, ang PHP naghatag og duha ka keyword, naglakip ug nagkinahanglan. Sa lohikal nga paagi, pareho ang ilang gibuhat apan lahi sa usag usa. Atong hisgotan sila sa usag usa!

Unsa ang kalainan tali sa paglakip ug kinahanglan sa PHP?

naglakip sanagkinahanglan
Ilakip ang keyword nagtugot sa paggamit sa piraso sa code sa pipila ka eksternal nga file, ngadto sa imong kasamtangan nga code. Idugang lang ang file sa ibabaw sa PHP script gamit ang include keyword ug mahimo nimong ma-access ang code sa maong file sa imong kasamtangang code. Dinhi, ang hinungdanon nga butang mao, kung ang file nga imong gipili sa gilakip nga keyword wala maglungtad o adunay bisan unsang sayup niini. Maghimo kini og E_WARNING apan dili mohunong sa imong script.Sa laing bahin, ang gikinahanglan nga keyword gigamit usab aron makadugang sa external code files ngadto sa kasamtangang PHP script. Apan sa bisan unsang matang sa kapakyasan sa file, o sa kaso sa usa ka nawala nga file, nagkinahanglan sa function sa paghimo sa E_COMPILE_ERROR ug dili motugot sa script sa pagpatuman. Kini mohunong sa proseso.
Lakip sa PHP vs Gikinahanglan

Unsa ang mas maayo nga gamiton gawas sa gilakip o gikinahanglan?

Ang pagpili tali sa paglakip ug gikinahanglan nagdepende sa kaso sa paggamit o senaryo.

Kung nagtrabaho ka sa usa ka plataporma diin ang taas nga seguridad mao ang panguna nga kabalaka. Sa kini nga kaso, kinahanglan nimo gamiton ang gikinahanglan nga keyword. Ingon nga ang gikinahanglan nga keyword wala magtugot sa script nga ipatuman alang sa bisan unsang sayup sa gilakip nga file o kung ang file wala makit-an.

Kung gusto nimo nga dili mohunong ang imong script tungod sa gilakip nga file, mahimo nimong gamiton ang pag-apil nga function sa kini nga kaso. Kini moila kanimo mahitungod sa problema gamit ang E_WARNING error.

Syntax sa naglakip ug nagkinahanglan

include 'filename';

or

require 'filename';

Pananglitan sa Ilakip ang keyword sa PHP

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

Pananglitan sa gikinahanglan nga keyword sa PHP

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

Mahibal-an nimo ang opisyal nga dokumentasyon bahin sa json_encode, json_decode, ug PHP tawag balik gimbuhaton.

Idugang ang komentaryo

Network sa Tutor

Pagkat-on sa PHP gikan sa A hangtod Z