Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melintasi tatasusunan yang sama dalam php

Bagaimana untuk melintasi tatasusunan yang sama dalam php

王林
Lepaskan: 2023-05-07 13:35:07
asal
643 orang telah melayarinya

Dalam PHP, melintasi tatasusunan ialah operasi yang sangat biasa. Kami biasanya mahu menggunakan kaedah ini untuk mencari elemen dalam tatasusunan, beroperasi pada tatasusunan atau mengeluarkan semua elemen dalam tatasusunan. Dalam sesetengah kes, kita perlu mencari elemen tersebut dengan nilai yang sama untuk melaksanakan beberapa operasi lain. Artikel ini akan meneroka secara terperinci cara melintasi tatasusunan yang sama dalam PHP.

Pertama, mari kita lihat dua kaedah merentasi tatasusunan dalam PHP:

  1. gelung foreach

Gelung foreach ialah kaedah yang paling biasa daripada merentasi tatasusunan dalam PHP, struktur sintaks asasnya adalah seperti berikut:

foreach (array_expression as $key => $value) {
  // code to be executed;
}
Salin selepas log masuk
  • array_expression: tatasusunan yang akan dilalui
  • $key: kunci elemen semasa
  • $value: Nilai elemen semasa

Gelung foreach akan berulang melalui setiap elemen dalam tatasusunan secara bergilir-gilir, tetapkan kunci dan nilainya kepada $key dan $value, dan kemudian laksanakan kod yang sepadan.

Sebagai contoh mudah, kami mempunyai tatasusunan:

$arr = array(2, 4, 6, 8, 10);
Salin selepas log masuk
Salin selepas log masuk

Gunakan gelung foreach untuk melintasi tatasusunan ini dan keluarkan setiap elemen:

foreach ($arr as $value) {
  echo $value . "<br>";
}
Salin selepas log masuk

Keluaran adalah seperti berikut:

2
4
6
8
10
Salin selepas log masuk
Salin selepas log masuk
  1. untuk gelung

Gelung for juga merupakan cara biasa untuk melintasi tatasusunan dalam PHP, sama seperti gelung for biasa. Struktur sintaks asas adalah seperti berikut:

for ($i = 0; $i < count($array); $i++) {
  // code to be executed;
}
Salin selepas log masuk
  • $array: tatasusunan yang perlu dilalui
  • $i: indeks unsur semasa

for loop akan menggunakan Fungsi count() mengira bilangan elemen dalam tatasusunan, menyimpannya dalam pembolehubah $i, dan kemudian berulang melalui setiap elemen dalam tatasusunan.

Sebagai contoh mudah, kami mempunyai tatasusunan yang sama seperti di atas:

$arr = array(2, 4, 6, 8, 10);
Salin selepas log masuk
Salin selepas log masuk

Gunakan gelung for untuk melelaran melalui tatasusunan ini dan keluarkan setiap elemen:

for ($i = 0; $i < count($arr); $i++) {
  echo $arr[$i] . "<br>";
}
Salin selepas log masuk

Keluarannya ialah seperti berikut:

2
4
6
8
10
Salin selepas log masuk
Salin selepas log masuk

Di atas adalah kaedah asas merentasi tatasusunan dalam PHP Di bawah ini kami akan memperkenalkan cara melintasi tatasusunan yang sama.

  1. Gunakan fungsi array_count_values()

array_count_values() fungsi boleh mencari elemen dengan nilai yang sama dalam tatasusunan. Struktur sintaks asasnya adalah seperti berikut:

array array_count_values ( array $array )
Salin selepas log masuk
  • $array: Tatasusunan yang akan ditemui

Fungsi ini akan mengembalikan tatasusunan baharu, yang mengandungi setiap elemen dalam tatasusunan asal Bilangan kejadian unsur. Untuk memberikan contoh mudah, kami mempunyai tatasusunan:

$arr = array(1, 2, 3, 4, 3, 2, 1, 5);
Salin selepas log masuk
Salin selepas log masuk

Gunakan fungsi array_count_values() untuk mencari elemen yang sama di dalamnya:

$newArr = array_count_values($arr);
print_r($newArr);
Salin selepas log masuk

Outputnya adalah seperti berikut:

Array
(
    [1] => 2
    [2] => 2
    [3] => 2
    [4] => 1
    [5] => 1
)
Salin selepas log masuk

Seperti yang anda boleh lihat daripada output Out, tatasusunan baharu mengandungi bilangan kejadian setiap elemen dalam tatasusunan asal, yang mana elemen 1, 2 dan 3 muncul dua kali, dan elemen 4 dan 5 hanya muncul sekali.

  1. Menggunakan gelung foreach

Cara lain untuk mengulang elemen yang sama dalam tatasusunan ialah menggunakan gelung foreach. Idea khusus ialah menggunakan gelung foreach bersarang Setiap kali ia merentasi elemen tatasusunan, ia merentasi elemen di belakangnya dan membandingkan sama ada nilainya adalah sama. Sebagai contoh mudah, kami mempunyai tatasusunan:

$arr = array(1, 2, 3, 4, 3, 2, 1, 5);
Salin selepas log masuk
Salin selepas log masuk

Gunakan gelung foreach untuk melintasi tatasusunan ini dan cari elemen yang sama di dalamnya:

$sameArr = array();
foreach ($arr as $key1 => $value1) {
  foreach ($arr as $key2 => $value2) {
    if ($key1 < $key2 && $value1 == $value2) {
      $sameArr[] = $value1;
    }
  }
}
print_r($sameArr);
Salin selepas log masuk

Outputnya adalah seperti berikut:

Array
(
    [0] => 2
    [1] => 3
    [2] => 1
)
Salin selepas log masuk

Dari Seperti yang dapat dilihat daripada output, elemen 2, 3, dan 1 yang sama dalam tatasusunan asal ditemui. Malah, kaedah ini lebih menyusahkan dan lebih memakan masa apabila memproses tatasusunan besar Adalah disyorkan untuk menggunakan fungsi array_count_values().

Di atas ialah dua kaedah untuk merentasi tatasusunan yang sama dalam PHP. Saya harap ia akan membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk melintasi tatasusunan yang sama dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan