Penanganan array PHP yang mudah dan elegan dengan menggunakan objek koleksi seperti array seperti yang ditawarkan oleh jQuery dan Laravel Collections.
komposer memerlukan aimeos/map
Versi PHP yang didukung:
PHP 7.1+
PHP 8+
Daftar isi
Mengapa Peta PHP
Daftar metode
Membuat
Mengakses
Menambahkan
Agregat
Men-debug
Memesan
Mempersingkat
Tes
Mengubah
Lain-lain
Dokumentasi
Metode khusus
Pertunjukan
Panduan peningkatan
Alih-alih:
$daftar = [['id' => 'satu', 'nilai' => 'nilai1'], ['id' => 'dua', 'nilai' => 'nilai2'], null];$daftar[ ] = ['id' => 'tiga', 'nilai' => 'nilai3']; // tambahkan elemenunset( $list[0] ); // hapus elemen$list = array_filter( $list ); // hapus valuesort yang kosong( $list ); // urutkan elemen$pasangan = array_column( $daftar, 'nilai', 'id' ); // buat ['tiga' => 'nilai3']$nilai = reset( $pasangan ) ?: null; // mengembalikan nilai pertama
Hanya gunakan:
$daftar = [['id' => 'satu', 'nilai' => 'nilai1'], ['id' => 'dua', 'nilai' => 'nilai2'], null];$nilai = peta( $daftar ) // buat Peta->push( ['id' => 'tiga', 'nilai' => 'nilai3'] ) // tambahkan elemen->hapus( 0 ) // hapus elemen->filter () // hapus nilai kosong->sort() // urutkan elemen->col( 'nilai', 'id' ) // buat ['tiga' => 'nilai3']->pertama(); // mengembalikan nilai pertama
Anda masih dapat menggunakan:
$peta[] = ['id' => 'tiga', 'nilai' => 'nilai3'];$nilai = $peta[0];count( $peta );foreach( $peta sebagai $kunci => nilai );
Gunakan panggilan balik:
Selain itu, objek peta memungkinkan Anda meneruskan fungsi anonim ke banyak metode, misalnya:
$peta->setiap( fungsi( $val, $kunci ) { echo $kunci . ': ' . $val; } );
gaya jQuery:
Jika elemen peta Anda adalah objek, Anda bisa memanggil metodenya untuk setiap objek dan mendapatkan hasilnya sebagai peta baru seperti di jQuery:
// MyClass mengimplementasikan setStatus() (mengembalikan $this) dan getCode() (diinisialisasi oleh konstruktor)$map = Map::from( ['a' => new MyClass( 'x' ), 'b' => new MyClass ( 'y' )] );$peta->setStatus( 1 )->getCode()->toArray();
Ini akan memanggil setStatus( 1 )
pada kedua objek. Jika implementasi setStatus()
mengembalikan $this
, peta baru juga akan berisi:
['a' => Kelas Saya(), 'b' => Kelas Saya()]
Pada elemen peta baru tersebut, getCode()
akan dipanggil yang mengembalikan x
untuk objek pertama dan y
untuk objek kedua. Peta yang dibuat dari hasil getCode()
akan mengembalikan:
['a' => 'x', 'b' => 'y']
fungsi peta fungsi is_map __call __callStatic __konstruksi setelah semua arsort arsorted asort diurutkan rata-rata sebelum panggilan bool cast chunk jelas clone col runtuhnya menggabungkan bandingkan concat berisi jumlah salinan countBy dd delimiter diff diffAssoc diffKeys dump duplikat masing-masing kosong sama dengan setiap kecuali filter meledak temukan firstKey flat flip pertama float dari fromJson dapatkan getIterator grep groupBy memiliki if ifAny ifEmpty yang diimplementasikan dalam menyertakan indeks insertAfter insertAt insertBefore inString int intersect intersectAssoc intersectKeys adalah isEmpty isNumeric isObject isScalar isString join jsonSerialize kunci krsort krsorted ksort last lastKey ltrim map max merge method min none nth offsetExists offsetGet offsetSet offsetUnset only order pad partisi persentase pipa pemetikan awalan pop pos prepend pull push put random kurangi penolakan rekey hapus ganti reverse reverse rsort rsorted rtrim pencarian sep set shift shuffle dikocok lewati irisan semacam diurutkan sambatan split strAfter strContains strContainsAll strEnds strEndsAll string strLower strGanti strStarts strStartsSemua strUpper suffix sum ambil waktu tap toArray toJson toReversed toSorted toUrl transform transpose traverse tree trim uasort uasorted uksort uksorted union unik unshift usort usorted value berjalan kemana dengan ritsleting
function map() : Membuat peta baru dari elemen yang diteruskan
__construct() : Membuat peta baru
clone() : Mengkloning peta dan semua objek di dalamnya
copy() : Membuat salinan baru
meledak() : Membagi string menjadi peta elemen
from() : Membuat peta baru dari elemen yang diteruskan
fromJson() : Membuat peta baru dari string JSON
times() : Membuat peta baru dengan menjalankan penutupan beberapa kali
tree() : Membuat struktur pohon dari item daftar
__call() : Memanggil metode khusus
__callStatic() : Memanggil metode khusus secara statis
all() : Mengembalikan array biasa
at() : Mengembalikan nilai pada posisi tertentu
bool() : Mengembalikan elemen berdasarkan kunci dan mengubahnya menjadi boolean
call() : Memanggil metode yang diberikan pada semua item
find() : Mengembalikan elemen pertama/terakhir yang cocok
first() : Mengembalikan elemen pertama
firstKey() : Mengembalikan kunci pertama
get() : Mengembalikan elemen berdasarkan kunci
index() : Mengembalikan indeks numerik dari kunci yang diberikan
int() : Mengembalikan elemen berdasarkan kunci dan mengubahnya menjadi bilangan bulat
float() : Mengembalikan elemen berdasarkan kunci dan melemparkannya ke float
kunci() : Mengembalikan semua kunci
last() : Mengembalikan elemen terakhir
lastKey() : Mengembalikan kunci terakhir
pop() : Mengembalikan dan menghapus elemen terakhir
pos() : Mengembalikan indeks numerik dari nilai
pull() : Mengembalikan dan menghapus elemen berdasarkan kunci
random() : Mengembalikan elemen acak yang mempertahankan kunci
search() : Temukan kunci suatu elemen
shift() : Mengembalikan dan menghapus elemen pertama
string() : Mengembalikan elemen berdasarkan kunci dan melemparkannya ke string
toArray() : Mengembalikan array biasa
unik() : Mengembalikan semua elemen unik yang mempertahankan kunci
value() : Mengembalikan semua elemen dengan kunci baru
concat() : Menambahkan semua elemen dengan kunci baru
insertAfter() : Menyisipkan nilai setelah elemen tertentu
insertAt() : Menyisipkan elemen pada posisi tertentu di peta
insertBefore() : Menyisipkan nilai sebelum elemen tertentu
merge() : Menggabungkan elemen yang menimpa elemen yang sudah ada
pad() : Isi hingga panjang yang ditentukan dengan nilai yang diberikan
prepend() : Menambahkan elemen di awal (alias)
push() : Menambahkan elemen ke akhir
put() : Menyetel kunci dan nilai tertentu di peta (alias)
set() : Menimpa atau menambahkan elemen
union() : Menambahkan elemen tanpa menimpa elemen yang sudah ada
unshift() : Menambahkan elemen di awal
with() : Mengembalikan salinan dan menyetel elemen
avg() : Mengembalikan rata-rata semua nilai
count() : Mengembalikan jumlah total elemen
countBy() : Menghitung seberapa sering nilai yang sama ada di peta
max() : Mengembalikan nilai maksimum semua elemen
min() : Mengembalikan nilai minium semua elemen
persentase() : Mengembalikan persentase semua elemen yang lulus ujian
sum() : Mengembalikan jumlah semua nilai di peta
dd() : Mencetak konten peta dan menghentikan skrip
dump() : Mencetak konten peta
tap() : Meneruskan tiruan peta ke panggilan balik yang diberikan
arsort() : Elemen pengurutan terbalik yang mempertahankan kunci
arsorted() : Membalikkan elemen pengurutan yang mempertahankan kunci dalam salinan peta
asort() : Mengurutkan elemen dengan mempertahankan kunci
asorted() : Mengurutkan elemen yang menyimpan kunci dalam salinan peta
krsort() : Membalikkan elemen pengurutan berdasarkan kunci
krsorted() : Membalikkan elemen pengurutan berdasarkan kunci dalam salinan peta
ksort() : Mengurutkan elemen berdasarkan kunci
order() : Mengurutkan elemen berdasarkan kunci yang diteruskan
reverse() : Membalikkan kunci pelestarian urutan array
reversed() : Membalikkan urutan elemen dalam salinan peta
toReversed() : Membalikkan urutan elemen dalam salinan peta (alias)
rsort() : Membalikkan elemen pengurutan menggunakan kunci baru
rsorted() : Membalikkan elemen pengurutan menggunakan kunci baru di salinan peta
shuffle() : Mengacak urutan elemen
shuffled() : Mengacak urutan elemen dalam salinan peta
sort() : Mengurutkan elemen di tempat dengan menetapkan kunci baru
diurutkan() : Mengurutkan elemen dalam salinan peta menggunakan kunci baru
toSorted() : Mengurutkan elemen dalam salinan peta menggunakan kunci baru (alias)
uasort() : Mengurutkan elemen yang mempertahankan kunci menggunakan panggilan balik
uasorted() : Mengurutkan elemen yang mempertahankan kunci menggunakan panggilan balik dalam salinan peta
uksort() : Mengurutkan elemen berdasarkan kunci menggunakan panggilan balik
uksorted() : Mengurutkan elemen berdasarkan kunci menggunakan panggilan balik dalam salinan peta
usort() : Mengurutkan elemen menggunakan panggilan balik yang menetapkan kunci baru
usorted() : Mengurutkan elemen menggunakan panggilan balik yang menetapkan kunci baru dalam salinan peta
after() : Mengembalikan elemen setelah elemen tertentu
before() : Mengembalikan elemen sebelum elemen tertentu
clear() : Menghapus semua elemen
diff() : Mengembalikan elemen yang hilang dalam daftar yang diberikan
diffAssoc() : Mengembalikan elemen yang hilang dalam daftar yang diberikan dan memeriksa kunci
diffKeys() : Mengembalikan elemen yang hilang dalam daftar tertentu berdasarkan kunci
kecuali() : Mengembalikan peta baru tanpa kunci elemen yang diteruskan
filter() : Menerapkan filter ke semua elemen
grep() : Menerapkan ekspresi reguler ke semua elemen
intersect() : Mengembalikan elemen yang dibagikan
intersectAssoc() : Mengembalikan elemen yang dibagikan dan memeriksa kunci
intersectKeys() : Mengembalikan elemen yang dibagikan berdasarkan kunci
nth() : Mengembalikan setiap elemen ke-n dari peta
only() : Hanya mengembalikan elemen yang ditentukan oleh kunci
pop() : Mengembalikan dan menghapus elemen terakhir
pull() : Mengembalikan dan menghapus elemen berdasarkan kunci
reject() : Menghapus semua elemen yang cocok
hapus() : Menghapus elemen berdasarkan kunci
shift() : Mengembalikan dan menghapus elemen pertama
skip() : Melewati sejumlah item tertentu dan mengembalikan sisanya
irisan() : Mengembalikan sepotong peta
take() : Mengembalikan peta baru dengan jumlah item tertentu
Where() : Memfilter daftar elemen berdasarkan kondisi tertentu
function is_map() : Menguji apakah variabelnya adalah objek peta
bandingkan() : Membandingkan nilai terhadap semua elemen peta
berisi() : Menguji apakah suatu item ada di peta
masing-masing() : Menerapkan panggilan balik ke setiap elemen
kosong() : Menguji apakah peta kosong
sama dengan() : Menguji apakah isi peta sama
every() : Memverifikasi bahwa semua elemen lulus pengujian callback yang diberikan
has() : Menguji apakah ada kunci
if() : Mengeksekusi callback tergantung pada kondisinya
ifAny() : Menjalankan callback jika peta berisi elemen
ifEmpty() : Menjalankan callback jika peta kosong
in() : Menguji apakah elemen disertakan
include() : Menguji apakah elemen disertakan
inString() : Menguji apakah item merupakan bagian dari string di peta
is() : Menguji apakah peta terdiri dari kunci dan nilai yang sama
isEmpty() : Menguji apakah peta kosong
isNumeric() : Menguji apakah semua entri berupa nilai numerik
isObject() : Menguji apakah semua entri adalah objek
isScalar() : Menguji apakah semua entri adalah nilai skalar.
isString() : Menguji apakah semua entri adalah nilai string.
implementasi() : Menguji apakah semua entri adalah objek yang mengimplementasikan antarmuka
none() : Menguji apakah tidak ada elemen yang merupakan bagian dari peta
some() : Menguji apakah setidaknya satu elemen disertakan
strContains() : Menguji apakah setidaknya salah satu string yang diteruskan adalah bagian dari setidaknya satu entri
strContainsAll() : Menguji apakah semua entri berisi salah satu string yang diteruskan
strEnds() : Menguji apakah setidaknya salah satu entri diakhiri dengan salah satu string yang diteruskan
strEndsAll() : Menguji apakah semua entri diakhiri dengan setidaknya satu string yang diteruskan
strStarts() : Menguji apakah setidaknya salah satu entri dimulai dengan setidaknya salah satu string yang diteruskan
strStartsAll() : Menguji apakah semua entri dimulai dengan salah satu string yang diteruskan
cast() : Melemparkan semua entri ke tipe yang diteruskan
chunk() : Membagi peta menjadi beberapa bagian
col() : Membuat pemetaan kunci/nilai
runtuh() : Runtuhnya elemen multi-dimensi yang menimpa elemen
merge() : Menggabungkan elemen peta sebagai kunci dengan nilai yang diberikan
flat() : Meratakan elemen multidimensi tanpa menimpa elemen
flip() : Menukarkan kunci dengan nilainya
groupBy() : Mengelompokkan elemen atau objek array asosiatif
join() : Mengembalikan elemen gabungan sebagai string dengan pemisah
ltrim() : Menghapus karakter yang diteruskan dari kiri semua string
map() : Menerapkan panggilan balik ke setiap elemen dan mengembalikan hasilnya
partisi() : Memecah daftar menjadi sejumlah grup tertentu
pipe() : Menerapkan panggilan balik ke seluruh peta
memetik() : Membuat pemetaan kunci/nilai (alias)
prefix() : Menambahkan awalan ke setiap entri peta
pengurangan() : Menghitung satu nilai dari konten peta
rekey() : Mengubah kunci sesuai dengan fungsi yang diteruskan
replace() : Mengganti elemen secara rekursif
rtrim() : Menghapus karakter yang diteruskan dari kanan semua string
splice() : Menggantikan irisan dengan elemen baru
strAfter() : Mengembalikan string setelah nilai yang diteruskan
strLower() : Mengubah semua karakter alfabet menjadi huruf kecil
strReplace() : Mengganti semua kemunculan string pencarian dengan string pengganti
strUpper() : Mengubah semua karakter alfabet menjadi huruf besar
suffix() : Menambahkan sufiks ke setiap entri peta
toJson() : Mengembalikan elemen dalam format JSON
toUrl() : Membuat string kueri HTTP
transfrom() : Menerapkan panggilan balik ke setiap elemen yang membuat pasangan kunci/nilai baru
transpose() : Menukar baris dan kolom untuk peta dua dimensi
traverse() : Melintasi pohon item bersarang yang meneruskan setiap item ke callback
trim() : Menghapus karakter yang diteruskan dari kiri/kanan semua string
walk() : Menerapkan panggilan balik yang diberikan ke semua elemen
zip() : Menggabungkan nilai semua array pada indeks yang sesuai
delimiter() : Menetapkan atau mengembalikan pemisah untuk jalur ke array multidimensi
getIterator() : Mengembalikan iterator untuk elemen
jsonSerialize() : Menentukan data yang harus diserialkan ke JSON
method() : Mendaftarkan metode khusus
offsetExists() : Memeriksa apakah kuncinya ada
offsetGet() : Mengembalikan elemen berdasarkan kunci
offsetSet() : Menimpa sebuah elemen
offsetUnset() : Menghapus elemen berdasarkan kunci
sep() : Menyetel pemisah untuk jalur ke array multidimensi di peta saat ini
Menguji apakah variabelnya adalah objek peta
fungsi is_map( $var ) : bool
@param mencampur Variabel $var
untuk diuji
Contoh:
is_map( Peta baru() );// trueis_map( [] );// salah
Mengembalikan peta baru untuk elemen yang diteruskan.
peta fungsi( $elemen = [] ) : AimeosMap
@param campuran $elements
Daftar elemen atau nilai tunggal
@return contoh Peta AimeosMap
Contoh:
// peta array( [] );// nullmap( null );// peta skalar( 'a' );// peta objek( stdClass baru() );// peta objek peta( Peta baru() );// peta objek yang dapat diubah( new ArrayObject() );// penutupan dievaluasi lazilymap( function() {return []; } );
Lihat juga:
rekey() - Mengubah kunci sesuai dengan fungsi yang diteruskan
transform() - Membuat pasangan kunci/nilai baru menggunakan fungsi yang diteruskan dan mengembalikan peta baru untuk hasilnya
Membuat objek peta baru.
fungsi publik __konstruksi( $elemen = [] )
@param campuran $elements
Elemen tunggal, daftar elemen, objek Peta, objek atau iterator yang dapat diubah, yang lainnya
Contoh:
// arraypeta baru( [] );// nullpeta baru( null );// peta skalarbaru( 'a' );// objekpeta baru( stdClass baru() );// peta objekpeta baru( Peta baru() ); // objek baru yang dapat diubah Peta( new ArrayObject() );// penutupan dievaluasi dengan malas Peta baru( function() {return []; } );
Menangani panggilan dinamis ke metode khusus untuk kelas.
fungsi publik __panggilan( string $nama, array $params )
@param string $name
nama Nama metode
@param array<mixed> $params
Daftar parameter
@return hasil campuran dari fungsi yang dipanggil atau peta baru dengan hasil dari metode elemen
Memanggil metode khusus yang ditambahkan oleh Map::method(). Metode yang dipanggil memiliki akses ke array internal dengan menggunakan $this->items
.
Contoh:
Peta::metode( 'kasus', fungsi( $kasus = CASE_LOWER ) {kembalikan diri baru( array_change_key_case( $ini->item, $kasus ) ); } ); Peta::dari( ['a' => 'bar'] )->case( CASE_UPPER );// ['A' => 'bar']
Ini juga memungkinkan pemanggilan metode objek jika itemnya adalah objek:
$item = Kelas Saya baru(); // dengan metode setStatus() (mengembalikan $this) dan getCode() diimplementasikanMap::from( [$item, $item] )->setStatus( 1 )->getCode()->toArray();
Ini akan memanggil metode setStatus()
setiap elemen di peta dan menggunakan nilai kembaliannya untuk membuat peta baru. Di peta baru, metode getCode()
dipanggil untuk setiap elemen dan nilai kembaliannya juga disimpan di peta baru. Peta terakhir ini kemudian dikembalikan dan kunci peta dari peta asli disimpan di peta yang dikembalikan.
Jika elemen bukan objek, elemen tersebut akan dilewati dan jika ini berlaku untuk semua elemen, peta kosong akan dikembalikan. Jika peta berisi objek dengan tipe campuran dan salah satunya tidak mengimplementasikan metode yang dipanggil, kesalahan akan terjadi.
Menangani panggilan statis ke metode khusus untuk kelas.
fungsi statis publik __callStatic( string $nama, array $params )
@param string $name
nama Nama metode
@param array<mixed> $params
Daftar parameter
@return hasil campuran dari fungsi yang dipanggil atau peta baru dengan hasil dari metode elemen
@throws BadMethodCallException Jika tidak ada metode yang didaftarkan untuk nama itu
Memanggil metode khusus yang ditambahkan oleh Map::method() secara statis. Metode yang dipanggil tidak memiliki akses ke array internal karena tidak ada objek yang tersedia.
Contoh:
Peta::metode( 'foo', fungsi( $arg1, $arg2 ) {} ); Peta::foo( $arg1, $arg2 );
Mengembalikan elemen setelah yang diberikan.
fungsi publik setelah( $nilai ) : mandiri
@param Closure|int|string $value
Nilai atau fungsi dengan parameter (item, kunci).
@return self<int|string,mixed> Peta baru dengan elemen setelah yang diberikan
Kuncinya disimpan menggunakan metode ini.
Contoh:
Peta::dari( [0 => 'b', 1 => 'a'] )->setelah( 'b' );// [1 => 'a']Peta::dari( ['a' = > 1, 'b' => 0] )->setelah( 1 );// ['b' => 0]Peta::dari( [0 => 'b', 1 => 'a'] )- >setelah( 'c' );// []Peta::dari( ['a', 'c', 'b'] )->setelah( function( $item, $key ) {return $item >= 'c'; } );// [2 => 'b']
Mengembalikan elemen sebagai array biasa.
fungsi publik semua() : array
@return array Array biasa
Contoh:
Peta::dari( ['a'] )->semua();// ['a']
Mengurutkan semua elemen dalam urutan terbalik dan mempertahankan asosiasi kunci.
fungsi publik arsort( int $options = SORT_REGULAR ) : mandiri
@param int $options
Menyortir opsi untuk arsort()
@return self<int|string,mixed> Peta yang diperbarui untuk antarmuka yang lancar
Kuncinya disimpan menggunakan metode ini dan tidak ada peta baru yang dibuat.
Parameter $options
mengubah cara nilai dibandingkan. Nilai parameter yang mungkin adalah:
SORT_REGULAR : bandingkan elemen secara normal (jangan ubah tipe)
SORT_NUMERIC : membandingkan elemen secara numerik
SORT_STRING : membandingkan elemen sebagai string
SORT_LOCALE_STRING : membandingkan elemen sebagai string, berdasarkan lokal saat ini atau diubah oleh setlocale()
SORT_NATURAL : membandingkan elemen sebagai string menggunakan "pengurutan alami" seperti natsort()
SORT_FLAG_CASE : gunakan SORT_STRING|SORT_FLAG_CASE dan SORT_NATURAL|SORT_FLAG_CASE untuk mengurutkan string tanpa membedakan huruf besar dan kecil
Contoh:
Peta::dari( ['b' => 0, 'a' => 1] )->arsort();// ['a' => 1, 'b' => 0]Peta::dari( [ 'a', 'b'] )->arsort();// ['b', 'a']Peta::dari( [0 => 'C', 1 => 'b'] )->arsort ();// [1 => 'b', 0 => 'C']Peta::dari( [0 => 'C', 1 => 'b'] )->arsort( SORT_STRING|SORT_FLAG_CASE );// [0 => ' C', 1 => 'b'] karena 'C' -> 'c' dan 'c' > 'b'
Mengurutkan salinan semua elemen dalam urutan terbalik dan mempertahankan keterkaitan kunci.
fungsi publik disortir( int $options = SORT_REGULAR ) : mandiri
@param int $options
Menyortir opsi untuk arsort()
@return self<int|string,mixed> Peta yang diperbarui untuk antarmuka yang lancar
Kuncinya disimpan menggunakan metode ini dan peta baru dibuat.
Parameter $options
mengubah cara nilai dibandingkan. Nilai parameter yang mungkin adalah:
SORT_REGULAR : bandingkan elemen secara normal (jangan ubah tipe)
SORT_NUMERIC : membandingkan elemen secara numerik
SORT_STRING : membandingkan elemen sebagai string
SORT_LOCALE_STRING : membandingkan elemen sebagai string, berdasarkan lokal saat ini atau diubah oleh setlocale()
SORT_NATURAL : membandingkan elemen sebagai string menggunakan "pengurutan alami" seperti natsort()
SORT_FLAG_CASE : gunakan SORT_STRING|SORT_FLAG_CASE dan SORT_NATURAL|SORT_FLAG_CASE untuk mengurutkan string tanpa membedakan huruf besar dan kecil
Contoh:
Peta::dari( ['b' => 0, 'a' => 1] )->arsorted();// ['a' => 1, 'b' => 0]Peta::dari( [ 'a', 'b'] )->arsorted();// ['b', 'a']Peta::dari( [0 => 'C', 1 => 'b'] )->arsorted();// [1 => 'b', 0 => 'C']Peta::dari( [0 => 'C', 1 => 'b'] )->arsorted( SORT_STRING |SORT_FLAG_CASE );// [0 => 'C', 1 => 'b'] karena 'C' -> 'c' dan 'c' > 'b'
Mengurutkan semua elemen dan mempertahankan asosiasi kuncinya.
bermacam-macam fungsi publik( int $options = SORT_REGULAR ) : mandiri
@param int $options
Mengurutkan opsi untuk asort()
@return self<int|string,mixed> Peta yang diperbarui untuk antarmuka yang lancar
Kuncinya disimpan menggunakan metode ini dan tidak ada peta baru yang dibuat.
Parameter mengubah cara nilai dibandingkan. Nilai parameter yang mungkin adalah:
SORT_REGULAR : bandingkan elemen secara normal (jangan ubah tipe)
SORT_NUMERIC : membandingkan elemen secara numerik
SORT_STRING : membandingkan elemen sebagai string
SORT_LOCALE_STRING : membandingkan elemen sebagai string, berdasarkan lokal saat ini atau diubah oleh setlocale()
SORT_NATURAL : membandingkan elemen sebagai string menggunakan "pengurutan alami" seperti natsort()
SORT_FLAG_CASE : gunakan SORT_STRING|SORT_FLAG_CASE dan SORT_NATURAL|SORT_FLAG_CASE untuk mengurutkan string tanpa membedakan huruf besar dan kecil
Contoh:
Peta::dari( ['a' => 1, 'b' => 0] )->asort();// ['b' => 0, 'a' => 1]Peta::dari( [ 0 => 'b', 1 => 'a'] )->asort();// [1 => 'a', 0 => 'b']Peta::dari( [0 => 'C' , 1 => 'b'] )->asort();// [0 => 'C', 1 => 'b'] karena 'C' < 'b'Map::from( [0 => 'C', 1 => 'b'] )->arsort( SORT_STRING|SORT_FLAG_CASE );// [1 => 'b', 0 => 'C'] karena 'C' -> 'c' dan 'c' > 'b'
Mengurutkan salinan semua elemen dan memelihara asosiasi kunci.
fungsi publik berbagai macam( int $options = SORT_REGULAR ) : mandiri
@param int $options
Mengurutkan opsi untuk asort()
@return self<int|string,mixed> Peta yang diperbarui untuk antarmuka yang lancar
Kuncinya disimpan menggunakan metode ini dan peta baru dibuat.
Parameter mengubah cara nilai dibandingkan. Nilai parameter yang mungkin adalah:
SORT_REGULAR : bandingkan elemen secara normal (jangan ubah tipe)
SORT_NUMERIC : membandingkan elemen secara numerik
SORT_STRING : membandingkan elemen sebagai string
SORT_LOCALE_STRING : membandingkan elemen sebagai string, berdasarkan lokal saat ini atau diubah oleh setlocale()
SORT_NATURAL : membandingkan elemen sebagai string menggunakan "pengurutan alami" seperti natsort()
SORT_FLAG_CASE : gunakan SORT_STRING|SORT_FLAG_CASE dan SORT_NATURAL|SORT_FLAG_CASE untuk mengurutkan string tanpa membedakan huruf besar dan kecil
Contoh:
Peta::dari( ['a' => 1, 'b' => 0] )->asorted();// ['b' => 0, 'a' => 1]Peta::dari( [ 0 => 'b', 1 => 'a'] )->asorted();// [1 => 'a', 0 => 'b']Peta::dari( [0 => 'C' , 1 => 'b'] )->asorted();// [0 => 'C', 1 => 'b'] karena 'C' < 'b'Map::from( [0 => 'C', 1 => 'b'] )->berbagai macam( SORT_STRING|SORT_FLAG_CASE );// [1 => 'b', 0 => 'C'] karena 'C' -> 'c' dan 'c' > 'B'
Mengembalikan nilai pada posisi tertentu.
fungsi publik di( int $pos )
@param int $pos
Posisi nilai di peta
@return mixed�Nilai nol pada posisi tertentu atau NULL jika tidak ada nilai yang tersedia
Posisi dimulai dari nol dan posisi "0" mengembalikan elemen pertama peta, "1" mengembalikan elemen kedua, dan seterusnya. Jika posisinya negatif maka urutannya akan dimulai dari akhir peta.
Contoh:
Peta::dari( [1, 3, 5] )->di( 0 );// 1Peta::dari( [1, 3, 5] )->di( 1 );// 3Peta::dari( [ 1, 3, 5] )->di( -1 );// 5Peta::dari( [1, 3, 5] )->di( 3 );// NULL
Mengembalikan rata-rata semua nilai integer dan float di peta.
rata-rata fungsi publik( $col = null ) : float
@param Closure|string|null $col
Penutupan, kunci atau jalur ke nilai dalam array atau objek bersarang untuk menghitung rata-rata
@return float Rata-rata semua elemen atau 0 jika tidak ada elemen di peta
Nilai NULL diperlakukan sebagai 0, nilai non-numerik akan menghasilkan kesalahan.
Ini juga berfungsi untuk array multidimensi dengan meneruskan kunci array yang dipisahkan oleh pembatas ("/" secara default), misalnya "key1/key2/key3" untuk mendapatkan "val" dari ['key1' => ['key2' => ['key3' => 'val']]]
. Hal yang sama berlaku untuk properti publik dari objek atau objek yang mengimplementasikan metode __isset()
dan __get()
.
Contoh:
Peta::dari( [1, 3, 5] )->avg();// 3Peta::dari( [1, null, 5] )->avg();// 3Peta::dari( [1, 'jumlah', 5] )->rata-rata();// 2Peta::dari( [['p' => 30], ['p' => 50], ['p' => 10]] )->rata-rata( 'p' );// 30Peta::dari( [['i' => ['p' => 30]], ['<sp