PHP JSON va qayta qo'ng'iroq qilish funksiyalari

P
Ishonchli SSL atigi 3.44 dollardan
PHP filtrlari - tekshirish va tozalash
PHP da Regex

Ushbu maqolada siz JSON formati va uning mavjud PHP funksiyalari haqida bilib olasiz. Shuningdek, biz PHP da qayta qo'ng'iroq qilish funksiyalarini ko'rib chiqamiz. Shunday ekan, boshlaylik.

JSON nima?

JSON Javascript Object Notation degan ma'noni anglatadi. Bu ma'lumotlarni yanada o'qilishi mumkin bo'lgan shaklda ifodalash uchun tuzilma. JSON butun dunyoda deyarli barcha tillar tomonidan qo'llaniladi, shuning uchun u platformalararo so'rovlar qilish va javob olishda muhim rol o'ynaydi.

Har bir til JSON-ni o'qishga qodir, shuning uchun API qo'ng'iroqlarining aksariyati JSON kirish ma'lumotlari va javob chiqishidan foydalaniladi. PHP da ba'zi o'rnatilgan JSON funksiyalari mavjud.

  1. json_encode()
  2. json_decode()

json_encode qiymatni kodlash yoki JSON formatiga aylantirish uchun ishlatiladi. Quyidagi misolga qarang.

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

echo json_encode($age);
?>

json_decode JSON ob'ektini assotsiativ massivga (kalit-qiymat juftliklari) yoki PHP qiymatiga aylantirish yoki dekodlash uchun ishlatiladi. Quyidagi misolga qarang.

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

var_dump(json_decode($jsonobj));
?>

json_decode ning ikkinchi parametri mantiqiy hisoblanadi. Agar u noto'g'ri bo'lsa, u ob'ektni qaytaradi. Agar u rostga o'rnatilgan bo'lsa, u assotsiativ massivni qaytaradi. Quyidagi misol json_decode ikkinchi parametridan foydalanadi.

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

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

json_decode qaytish qiymatlariga qanday kirish mumkin?

Yuqorida ko'rib turganimizdek, json_decode sukut bo'yicha ob'ektni va ikkinchi parametr rost bo'lganda assotsiativ massivni qaytaradi. Ushbu chiqishlarning har biridagi qiymatlarga kirish uchun sizga misollar ko'rsatamiz.

1-misol - json_decode ob'ektni qaytaradi

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

$obj = json_decode($jsonobj);

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

2-misol – json_decode assotsiativ massivni qaytaradi

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

$arr = json_decode($jsonobj, true);

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

json_decode massivida qanday aylanish mumkin?

Ma'lumki, json_decode assotsiativ massivni qaytaradi. Shunday qilib, foreach tsikli json_decode da kalitlarga va ularning qiymatlariga kirishi mumkin. Quyidagi misolga qarang, unda biz json_decode natijasini takrorlaymiz.

misol

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

$arr = json_decode($jsonobj, true);

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

PHP da qayta qo'ng'iroq qilish funksiyalari

Boshqa funktsiyaga argument sifatida uzatiladigan funktsiya qayta qo'ng'iroq qilish funktsiyasi deb ataladi. Siz o'zingizning qayta qo'ng'iroq qilish funksiyangizni belgilashingiz va uni boshqa funktsiyaga o'tkazishingiz mumkin. Bunday holda, faqat funktsiya nomini satr sifatida o'tkazing. PHP da oddiy qayta qo'ng'iroq qilish funksiyasining quyidagi misolini ko'rib chiqing.

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

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

PHP 7 va 8 endi anonim funksiyani qayta qo'ng'iroq qilish funksiyasi sifatida o'tkazishi mumkin. Quyidagi misolda siz PHP da anonim funksiyani qayta qo'ng'iroq qilish funksiyasi sifatida o'tkazishni o'rganasiz.

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

Qayta qo'ng'iroq qilish funktsiyasi sifatida foydalanuvchi tomonidan belgilangan funktsiyadan qanday foydalanish mumkin?

Oddiy funktsiya kabi, funktsiyangizda argument o'zgaruvchilardan foydalaning. Endi ushbu funktsiyani qayta qo'ng'iroq qilish funktsiyasi sifatida o'tkazing.

misol

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

Siz hozir PHP da JSON formati, json_encode, json_decode va qayta qo'ng'iroq qilish funksiyalari bilan tanish bo'lganingizdek. Keyingi bo'limda biz PHP ning ikkita oddiy, lekin juda oson va muhim tushunchalari bilan tanishamiz.

PHPda kalit so'z nimani o'z ichiga oladi?

PHP-ga kalit so'zni kiritish joriy faylda PHP skriptiga ega tashqi fayldan foydalanishga imkon beradi. Bu bizni fayl kodini qayta-qayta yozishdan saqlaydi, biz uning kodini ishlatmoqchi bo'lgan joyda.

Include kalit so'zidan foydalanmasdan kod tartibsiz yoki ortiqcha bo'lishi mumkin. Ortiqchalik muammosini hal qilish uchun PHP ikkita kalit so'zni taqdim etadi: o'z ichiga oladi va talab qiladi. Mantiqan, ular bir xil narsani qilishadi, lekin bir-biridan farq qiladi. Keling, ularni birma-bir ko'rib chiqaylik!

PHPda kiritish va talab qilish o'rtasidagi farq nima?

o'z ichiga oladitalab qiladi
Kalit so'zni kiriting ba'zi bir tashqi fayldagi kod qismini mavjud kodingizga ishlatishga imkon beradi. Shunchaki PHP skriptining yuqori qismidagi faylni include kalit so‘zidan foydalanib qo‘shing va siz joriy kodingizda ushbu faylning kodiga kirishingiz mumkin. Bu erda muhimi, agar siz include kalit so'zida ko'rsatgan fayl mavjud bo'lmasa yoki unda xato bo'lsa. U E_WARNING ishlab chiqaradi, lekin skriptingizni to'xtatmaydi.Boshqa tomondan, talab kalit so'zi joriy PHP skriptiga tashqi kod fayllarini qo'shish uchun ham ishlatiladi. Ammo fayldagi har qanday nosozliklar yoki etishmayotgan faylda E_COMPILE_ERROR funksiyasini ishlab chiqarishni talab qiling va skriptni bajarishga ruxsat bermaydi. Bu jarayonni to'xtatadi.
PHP Include vs Require

O'z ichiga yoki talab qilishdan qaysi birini ishlatish yaxshiroq?

Qo'shish va talab qilish o'rtasidagi tanlov foydalanish holati yoki stsenariyga bog'liq.

Agar siz yuqori xavfsizlik asosiy tashvish bo'lgan platformada ishlayotgan bo'lsangiz. Bunday holda siz kerakli kalit so'zdan foydalanishingiz kerak. Kerakli kalit so'z biriktirilgan faylda yoki fayl topilmaganda biron bir xatolik uchun skriptni bajarishga imkon bermaydi.

Agar siz qo'shilgan fayl tufayli skriptingiz to'xtab qolmasligini istasangiz, bu holda siz include funksiyasidan foydalanishingiz mumkin. E_WARNING xatosi yordamida muammo haqida sizni tan oladi.

Kiritish va talab qilish sintaksisi

include 'filename';

or

require 'filename';

PHP da Include kalit so'ziga misol

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

PHPda talab kalit so'ziga misol

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

Rasmiy hujjatlar bilan tanishishingiz mumkin json_encode, json_decode, va PHP qayta qo'ng'iroq qilish vazifalari.

PHP filtrlari - tekshirish va tozalash
PHP da Regex

Repetitor tarmog'i

bu baham

PHP tilini A dan Z gacha o'rganing