亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Jadual Kandungan
1. Memahami struktur data JSON dan penyahkodan PHP
2. Data kumpulan mengikut kategori
3. Memberi data dikumpulkan ke HTML
4. Kod Contoh Lengkap
Meringkaskan
Rumah pembangunan bahagian belakang tutorial php Tutorial mengenai kumpulan dan membuat data JSON mengikut kategori dalam PHP

Tutorial mengenai kumpulan dan membuat data JSON mengikut kategori dalam PHP

Oct 12, 2025 am 09:15 AM

Tutorial mengenai kumpulan dan membuat data JSON mengikut kategori dalam PHP

Butir tutorial ini bagaimana untuk mengendalikan data kompleks dalam format JSON dalam PHP. Tukar rentetan JSON ke dalam array PHP melalui JSON_DECODE, kemudian menunjukkan cara untuk mengumpulkan data dengan cekap mengikut kunci tertentu (seperti "kategori"), dan akhirnya memaparkan data berkumpulan dalam bentuk HTML berstruktur melalui gelung bersarang untuk memastikan bahawa pautan dan tajuk artikel di bawah setiap kategori dapat dibentangkan dengan betul.

1. Memahami struktur data JSON dan penyahkodan PHP

Dalam pembangunan web, JSON (JavaScript Object Notation) adalah format pertukaran data ringan yang digunakan secara meluas untuk penghantaran data depan dan back-end. PHP menyediakan fungsi terbina dalam untuk memproses data JSON.

Katakan kami mempunyai array JSON yang mengandungi maklumat mengenai pelbagai artikel. Setiap artikel mempunyai tiga bidang: "artikel" (pautan), "kategori" (kategori) dan "tajuk" (tajuk). Matlamat kami adalah untuk mengumpulkan artikel -artikel ini dengan "kategori" dan menjadikannya di laman web.

Contoh data json:

 [
    {
        "Artikel": "https://example.com/cat2-article1",
        "Kategori": "Cat2",
        "Tajuk": "1 Title Cat2"
    },
    {
        "Artikel": "https://example.com/cat1-article1",
        "Kategori": "Cat1",
        "Tajuk": "1 Title Cat1"
    },
    {
        "Artikel": "https://example.com/cat1-article2",
        "Kategori": "Cat1",
        "Tajuk": "2 Title Cat1"
    },
    {
        "Artikel": "https://example.com/cat2-article2",
        "Kategori": "Cat2",
        "Tajuk": "2 Title Cat2"
    },
    {
        "Artikel": "https://example.com/cat1-article3",
        "Kategori": "Cat1",
        "Tajuk": "Tajuk 3 Cat1"
    }
]

Dalam PHP, kami menggunakan fungsi JSON_DECODE () untuk menukar rentetan JSON ke dalam pembolehubah PHP. Apabila parameter kedua ditetapkan kepada benar, ia mengembalikan array bersekutu; Jika tidak, objek dikembalikan. Untuk keperluan tutorial ini, array bersekutu lebih mudah untuk bekerja dengan.

  Php
$ json = '[{
    "Artikel": "https://example.com/cat2-article1",
    "Kategori": "Cat2",
    "Tajuk": "1 Title Cat2"
}, {
    "Artikel": "https://example.com/cat1-article1",
    "Kategori": "Cat1",
    "Tajuk": "1 Title Cat1"
}, {
    "Artikel": "https://example.com/cat1-article2",
    "Kategori": "Cat1",
    "Tajuk": "2 Title Cat1"
}, {
    "Artikel": "https://example.com/cat2-article2",
    "Kategori": "Cat2",
    "Tajuk": "2 Title Cat2"
}, {
    "Artikel": "https://example.com/cat1-article3",
    "Kategori": "Cat1",
    "Tajuk": "Tajuk 3 Cat1"
}] ';

// decode json rentetan ke dalam array bersekutu php $ value = json_decode ($ json, true);

// Periksa sama ada penyahkodan berjaya dan jenis data jika (json_last_error ()! == json_error_none) {
    Echo "Kesalahan Decoding JSON:". json_last_error_msg ();
    keluar;
}
jika (! is_array ($ nilai)) {
    echo "Data yang dikodkan bukanlah array.";
    keluar;
}
?>

2. Data kumpulan mengikut kategori

Nilai $ decoded adalah array yang mengandungi pelbagai artikel artikel bersekutu. Untuk memaparkan mengikut kategori, kita perlu berulang melalui array ini dan membina struktur data baru di mana setiap kunci mewakili kategori dan nilainya adalah array yang mengandungi semua artikel dalam kategori tersebut.

  Php
// ... (data JSON sebelumnya dan kod penyahkodan) ...

$ res = []; // Digunakan untuk menyimpan data foreach yang dikelompokkan ($ nilai sebagai entri $) {
  $ kategori = $ entri ['kategori']; // Dapatkan kategori artikel semasa // Jika kategori ini belum dalam array hasil, buat array kosong untuk menyimpan artikel di bawah kategori ini jika (! Array_key_exists ($ kategori, $ res)) {
    $ res [$ kategori] = [];
  }

  // Tambah artikel semasa ke pelbagai kategori yang sepadan $ res [$ kategori] [] = $ entry;
}

// Pada masa ini, struktur array $ res adalah kira -kira seperti berikut:
// [
// "cat2" => [
// ["artikel" => "...", "kategori" => "cat2", "title" => "..."],
// ["artikel" => "...", "kategori" => "cat2", "tajuk" => "..."]
//],
// "cat1" => [
// ["artikel" => "...", "kategori" => "cat1", "tajuk" => "..."],
// ["artikel" => "...", "kategori" => "cat1", "tajuk" => "..."],
// ["artikel" => "...", "kategori" => "cat1", "tajuk" => "..."]
//]
//]
?>

3. Memberi data dikumpulkan ke HTML

Sebaik sahaja data dikumpulkan, langkah seterusnya adalah untuk menjadikannya ke halaman HTML. Ini biasanya melibatkan gelung foreach bersarang: gelung luar melepasi kategori, dan gelung dalaman melepasi artikel di bawah setiap kategori.

Apabila memberi, anda perlu memberi perhatian untuk mengakses artikel (pautan) dan tajuk (tajuk) medan setiap artikel. Kesalahan yang mungkin dalam soalan asal cuba mengakses pembolehubah gelung luar dalam gelung dalaman, atau menggunakan nama kunci yang salah.

 

    <twite> Paparan Klasifikasi Artikel 
    <yaya>
        badan {font-family: arial, sans-serif; Margin: 20px; }
        H1 {Color: #333; Sempadan-Bottom: 2PX Solid #eee; Padding-Bottom: 5px; Margin-top: 30px; }
        p {margin: 5px 0; }
        p.article-link {color: #007BFF; }
        p.article-title {font-weight: bold; }
    


 Php
// ... (data JSON sebelumnya, penyahkodan dan kod kumpulan) ...

// melintasi data dikumpulkan dan diberikan ke html
foreach ($ res sebagai $ kategori => $ entry_list) :?>
  <h1>  = htmlspecialchars ($ kategori); ?> </h1>
     php foreach ($ entry_list as $ artikel) :?>
    <p class="artikel-link"> <a href="<?%20=%20htmlspecialchars%20(%24%20artikel%20%5B'artikel'%5D);?>" target="_ blank">  = htmlspecialchars ($ artikel ['artikel']); ?> </a> </p>
    <p class="article-title">  = htmlspecialchars ($ artikel ['title']); ?> </p>
   php endforeach; ?>
 php endforeach; 
?>

</yaya></twite>

Penjelasan dan Nota Kod:

  • HTMLSPECIALCHARS (): Adalah penting untuk menggunakan fungsi htmlspecialchars () apabila mengeluarkan sebarang data yang mungkin datang dari sumber luaran atau pengguna ke HTML, untuk mencegah serangan skrip lintas tapak (XSS).
  • Penamaan Variabel: Dalam gelung dalaman, $ entry_list adalah pelbagai artikel di bawah kategori semasa, dan $ artikel adalah pelbagai artikel individu dalam $ entry_list. Oleh itu, apabila mengakses pautan dan tajuk artikel, $ artikel ['artikel'] dan $ artikel ['tajuk'] harus digunakan. Ini adalah titik kesilapan yang biasa dalam soalan asal, iaitu penyalahgunaan pembolehubah atau kekunci yang salah dalam gelung luar.
  • Struktur HTML: Kod sampel menggunakan tag

    untuk memaparkan nama kategori, tag, dan

    tag untuk memaparkan pautan dan tajuk artikel untuk menyediakan struktur yang jelas.

4. Kod Contoh Lengkap

Berikut adalah fail PHP lengkap yang mengintegrasikan semua langkah dan boleh dijalankan secara langsung untuk melihat kesannya:

 

    <twite> Paparan Klasifikasi Artikel 
    <yaya>
        badan {font-family: arial, sans-serif; Margin: 20px; }
        H1 {Color: #333; Sempadan-Bottom: 2PX Solid #eee; Padding-Bottom: 5px; Margin-top: 30px; }
        p {margin: 5px 0; }
        p.article-link {color: #007BFF; }
        p.article-title {font-weight: bold; }
    


 Php
$ json = '[{
    "Artikel": "https://example.com/cat2-article1",
    "Kategori": "Cat2",
    "Tajuk": "1 Title Cat2"
}, {
    "Artikel": "https://example.com/cat1-article1",
    "Kategori": "Cat1",
    "Tajuk": "1 Title Cat1"
}, {
    "Artikel": "https://example.com/cat1-article2",
    "Kategori": "Cat1",
    "Tajuk": "2 Title Cat1"
}, {
    "Artikel": "https://example.com/cat2-article2",
    "Kategori": "Cat2",
    "Tajuk": "2 Title Cat2"
}, {
    "Artikel": "https://example.com/cat1-article3",
    "Kategori": "Cat1",
    "Tajuk": "Tajuk 3 Cat1"
}] ';

// 1. DECODE DATA JSON $ VALUES = JSON_DECODE ($ JSON, TRUE);

// pengendalian ralat jika (json_last_error ()! == json_error_none) {
    echo "<p style="'color:" red> json decoding ralat:". json_last_error_msg (). "</p>";
    keluar;
}
jika (! is_array ($ nilai)) {
    echo "<p style="'color:" red> Data decoded bukan array. </p>";
    keluar;
}

// 2. Data kumpulan mengikut kategori $ res = [];
foreach ($ nilai sebagai entri $) {
  $ kategori = $ entri ['kategori'];
  jika (! array_key_exists ($ kategori, $ res)) {
    $ res [$ kategori] = [];
  }
   $ res [$ kategori] [] = $ entry;
}

// 3. Memberi data dikumpulkan ke html
foreach ($ res sebagai $ kategori => $ entry_list) :?>
  <h1>  = htmlspecialchars ($ kategori); ?> </h1>
     php foreach ($ entry_list as $ artikel) :?>
    <p class="artikel-link"> <a href="<?%20=%20htmlspecialchars%20(%24%20artikel%20%5B'artikel'%5D);?>" target="_ blank">  = htmlspecialchars ($ artikel ['artikel']); ?> </a> </p>
    <p class="article-title">  = htmlspecialchars ($ artikel ['title']); ?> </p>
   php endforeach; ?>
 php endforeach; 
?>

</yaya></twite>

Meringkaskan

Tutorial ini menunjukkan proses lengkap pemprosesan data JSON dalam PHP: daripada menggunakan fungsi JSON_DECODE untuk menukar rentetan JSON ke dalam pelbagai PHP yang beroperasi, untuk mengumpulkan data dengan kunci tertentu (seperti "kategori") melalui penghakiman dan penghakiman bersyarat, dan akhirnya membuat data berkumpulan ke halaman HTML dengan cara yang jelas dan selamat melalui loops. Memahami corak pemprosesan data ini adalah penting untuk membina aplikasi web yang dinamik, membantu pemaju menyusun dan mempersembahkan set data kompleks dengan berkesan. Dalam perkembangan sebenar, adalah penting untuk memberi perhatian kepada keselamatan pengendalian ralat dan kandungan output untuk meningkatkan keteguhan permohonan dan keupayaannya untuk menentang serangan yang berpotensi.

Atas ialah kandungan terperinci Tutorial mengenai kumpulan dan membuat data JSON mengikut kategori dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana cara memeriksa sama ada alamat e -mel sah dalam php? Bagaimana cara memeriksa sama ada alamat e -mel sah dalam php? Sep 21, 2025 am 04:07 AM

UseFilter_var () TOVALIDATEMailSyntaxandCheckDnsrr () TOVERIFYDOnMAINMXRECORDS.example: $ e -mel = "user@example.com"; if (filter_var ($ e -mel, filter_email) && checkDnsrr (expode '

Bagaimana membuat salinan atau klon objek yang mendalam dalam php? Bagaimana membuat salinan atau klon objek yang mendalam dalam php? Sep 21, 2025 am 12:30 AM

UseUnserialize (Serialize ($ obj)) fordeepcopyingWhenallDataisserizable; jika tidak, pelaksanaan__clone () tomanuallyduplicatenestedObjectsandavoidsharedReferences.

Bagaimana untuk menggabungkan dua tatasusunan dalam PHP? Bagaimana untuk menggabungkan dua tatasusunan dalam PHP? Sep 21, 2025 am 12:26 AM

UseArray_Merge () toCombineArrays, OverwritingDuplicateStringKeySandreIndexingNumericKeys; forsimplerconcatenation, terutamaInphp5.6, usethesplatoperator [... $ array1, ... $ array2].

Bagaimana cara menggunakan ruang nama dalam projek PHP? Bagaimana cara menggunakan ruang nama dalam projek PHP? Sep 21, 2025 am 01:28 AM

Namespacesinphporganizecodeandpreventnamingnamingconflictsbygroupinglasses, antara muka, fungsi, dan constantsunderaspecificname.2.defineAnamespaceusingthenamespaceywordetopofafile, diikuti olehbythenamespaceakenam

Bagaimana untuk mengemas kini rekod dalam pangkalan data dengan PHP? Bagaimana untuk mengemas kini rekod dalam pangkalan data dengan PHP? Sep 21, 2025 am 04:47 AM

Toupdateadatabaserecordinphp, firstConnectusingPdoormySqli, thenusePePreparedStatementStoExecuteAseCureSqlupDateQuery.example: $ pdo = newpdo ("mysql: host = localhost; dbName = your_database: $ userbase: $ userbase"

Apakah kaedah sihir dalam php dan memberikan contoh `__call ()` dan `__get ()`. Apakah kaedah sihir dalam php dan memberikan contoh `__call ()` dan `__get ()`. Sep 20, 2025 am 12:50 AM

The__call () methodistriggeredWhenaninaccessibleorundefinedmethodiscalledonanObject, membolehkanCustomHandlylyAccepteThemeThodnamnamnamnents, asshownwhencallingundefinedmethodslikesayhello ()

Bagaimana untuk membuat arkib zip fail dalam PHP? Bagaimana untuk membuat arkib zip fail dalam PHP? Sep 18, 2025 am 12:42 AM

Gunakan kelas ziparchive untuk membuat fail zip. Pertama instantiate dan buka zip sasaran, tambahkan fail dengan addfile, menyokong laluan dalaman tersuai, fungsi rekursif boleh membungkus seluruh direktori, dan akhirnya memanggil dekat untuk menyimpan untuk memastikan bahawa PHP mempunyai kebenaran menulis.

Bagaimana untuk mendapatkan sambungan fail dalam PHP? Bagaimana untuk mendapatkan sambungan fail dalam PHP? Sep 20, 2025 am 05:11 AM

UsePathinfo ($ FileName, pathinfo_extension) togetthefileextension; itreliLyHandlesmultipledotsandgecases, returnTheExtension (mis., "Pdf") Oranemptystringifnoneexists.

See all articles