Rumah  >  Artikel  >  rangka kerja php  >  tatasusunan laravel keluarkan sama

tatasusunan laravel keluarkan sama

PHPz
PHPzasal
2023-05-26 11:28:37889semak imbas

Laravel ialah rangka kerja pembangunan PHP yang popular yang menyediakan banyak fungsi tambahan yang mudah. Semasa pembangunan, selalunya anda perlu mengalih keluar nilai yang sama daripada tatasusunan. Artikel ini akan memperkenalkan cara menggunakan fungsi pembantu Laravel sendiri untuk mencapai fungsi ini.

  1. Gunakan fungsi array_unique

Fungsi array_unique ialah fungsi yang disertakan dengan PHP dan boleh digunakan untuk mengalih keluar nilai pendua daripada tatasusunan. Menggunakan fungsi ini adalah sangat mudah, anda hanya perlu lulus dalam tatasusunan yang perlu dinyahduplikasi sebagai parameter.

Sebagai contoh, kami mempunyai tatasusunan $arr, yang elemennya adalah seperti berikut:

$arr = [1, 2, 2, 3, 4, 4, 4, 5];

Jika anda ingin mengalih keluar elemen pendua, anda boleh menggunakan fungsi array_unique:

$uniqueArr = array_unique($arr);

Dengan cara ini, $uniqueArr ialah tatasusunan selepas penyahduplikasian.

Walau bagaimanapun, kaedah ini mempunyai kelemahan, iaitu subskrip elemen tatasusunan selepas dialih keluar akan ditetapkan semula, jadi ia tidak sesuai untuk situasi di mana subskrip asal perlu dikekalkan.

  1. Menggunakan fungsi tambahan Laravel

Laravel menyediakan satu siri fungsi bantu yang mudah dan praktikal, termasuk fungsi untuk memproses tatasusunan. Salah satu fungsi yang biasa digunakan ialah fungsi kumpul, yang boleh membungkus tatasusunan ke dalam koleksi dan kemudian menggunakan kaedah yang disediakan oleh koleksi untuk beroperasi.

Gunakan fungsi collect untuk merangkum tatasusunan ke dalam koleksi:

$collection = collect($arr);

Kemudian, kita boleh menggunakan kaedah unik untuk mengalih keluar elemen yang sama:

$uniqueCollection = $collection->unique();

Dengan cara ini, $uniqueCollection ialah koleksi deduplikasi selepas.

Berbeza daripada fungsi array_unique, selepas menggunakan kaedah unik, subskrip elemen tatasusunan asal dikekalkan. Jika anda perlu mengembalikan tatasusunan tanpa subskrip, anda boleh menggunakan kaedah nilai:

$uniqueArr = $uniqueCollection->values()->all();

Dengan cara ini, $uniqueArr ialah tatasusunan tanpa subskrip selepas penyahduplikasian.

  1. Gunakan kelas Koleksi Laravel

Selain menggunakan fungsi tambahan, Laravel juga menyediakan satu lagi kaedah yang lebih mudah, iaitu menggunakan kelas Koleksi.

Kelas koleksi ialah kelas koleksi yang disediakan oleh Laravel, yang merangkum pelbagai operasi pada tatasusunan. Operasi tatasusunan boleh dilakukan dengan lebih mudah menggunakan kelas Koleksi.

Langkah-langkah untuk menggunakan kelas Koleksi untuk penyahduplikasian adalah seperti berikut:

Mula-mula, buat contoh Koleksi:

$collection = collect($arr);

Kemudian, gunakan kaedah unik untuk menyahduplikasi:

$uniqueCollection = $collection->unique();

Akhir sekali, anda boleh menggunakan kaedah toArray untuk menukar koleksi kepada tatasusunan:

$uniqueArr = $uniqueCollection->toArray();

Berbanding dengan menggunakan fungsi tambahan, menggunakan kelas Koleksi boleh mengurangkan redundansi kod dan menjadikan kod lebih mudah dan lebih mudah untuk faham.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Laravel untuk mengalih keluar nilai yang sama​​​dalam tatasusunan. Menggunakan fungsi array_unique yang disertakan dengan PHP boleh menyahduplikasi tatasusunan dengan mudah, tetapi ia boleh menyebabkan masalah penetapan semula subskrip tatasusunan. Menggunakan fungsi pembantu Laravel atau kelas Koleksi boleh mengelakkan masalah ini dan menyediakan pelaksanaan kod yang lebih mudah. Dalam pembangunan sebenar, anda boleh memilih kaedah yang sesuai untuk melakukan deduplikasi tatasusunan mengikut keperluan anda.

Atas ialah kandungan terperinci tatasusunan laravel keluarkan sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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