Bagaimana untuk mengembalikan pasangan kunci/nilai semasa dalam tatasusunan dalam PHP dan gerakkan penuding tatasusunan ke hadapan satu langkah

王林
Lepaskan: 2024-03-19 15:06:02
ke hadapan
1152 orang telah melayarinya

editor php Banana akan memperkenalkan anda cara mengembalikan pasangan kunci/nilai semasa dalam tatasusunan dan gerakkan penuding tatasusunan ke hadapan satu langkah. Dalam PHP, anda boleh menggunakan fungsi current() untuk mendapatkan nilai elemen yang ditunjuk oleh penunjuk semasa, fungsi key() untuk mendapatkan kunci elemen yang ditunjuk oleh penunjuk semasa, dan fungsi next() untuk menggerakkan penuding tatasusunan ke hadapan satu langkah. Ini menjadikannya mudah untuk mengulangi tatasusunan dan memanipulasi pasangan kunci/nilai di dalamnya. Mari kita lihat lebih dekat cara menggunakan fungsi ini!

Bagaimana untuk mengembalikan pasangan kunci/nilai semasa dalam tatasusunan dan gerakkan penuding tatasusunan ke hadapan

Dalam php, kaedah untuk mengembalikan pasangan kunci/nilai semasa dalam tatasusunan dan menggerakkan penuding tatasusunan ke hadapan adalah seperti berikut:

1 Gunakan fungsi semasa() dan seterusnya()

<?php
$arr = ["foo" => "bar", "baz" => "qux"];

$current_key = current($arr); // 获取当前键,返回 "foo"
$current_value = current($arr); // 获取当前值,返回 "bar"

next($arr); // 将指针移至下一个元素

$next_key = current($arr); // 获取下一个键,返回 "baz"
$next_value = current($arr); // 获取下一个值,返回 "qux"
?>
Salin selepas log masuk

2. Gunakan setiap() fungsi

<?php
$arr = ["foo" => "bar", "baz" => "qux"];

while ($element = each($arr)) {
$current_key = $element["key"]; // 获取当前键
$current_value = $element["value"]; // 获取当前值

// 执行其他操作

next($arr); // 将指针移至下一个元素
}
?>
Salin selepas log masuk

3. Gunakan fungsi array_shift()

<?php
$arr = ["foo" => "bar", "baz" => "qux"];

$element = array_shift($arr); // 返回并移除数组第一个元素

$current_key = key($element); // 获取键
$current_value = $element[$current_key]; // 获取值
?>
Salin selepas log masuk

4. Gunakan fungsi array_slice()

<?php
$arr = ["foo" => "bar", "baz" => "qux"];

$element = array_slice($arr, 0, 1, true); // 返回数组第一个元素,并保持键

$current_key = key($element); // 获取键
$current_value = $element[$current_key]; // 获取值
?>
Salin selepas log masuk

5. Gunakan iterator tersuai

<?php
class ArrayIterator implements Iterator {
private $arr;
private $index = 0;

public function __construct(array $arr) {
$this->arr = $arr;
}

public function current() {
return $this->arr[$this->index];
}

public function key() {
return $this->index;
}

public function next() {
$this->index++;
}

public function valid() {
return isset($this->arr[$this->index]);
}
}

$arr = ["foo" => "bar", "baz" => "qux"];

$iterator = new ArrayIterator($arr);

while ($iterator->valid()) {
$current_key = $iterator->key();
$current_value = $iterator->current();

// 执行其他操作

$iterator->next();
}
?>
Salin selepas log masuk

Perhatian:

  • Menggunakan fungsi current() dan next() ialah cara paling mudah, tetapi ia akan mengubah suai penunjuk tatasusunan.
  • Menggunakan fungsi each() tidak akan mengubah suai penunjuk tatasusunan, tetapi ia telah ditamatkan dan disyorkan untuk menggunakan array_slice() atau lelaran tersuai.
  • Fungsi
  • array_shift() akan mengalih keluar elemen pertama tatasusunan, jadi ia hanya sesuai untuk mengembalikan elemen pertama.
  • Fungsi
  • array_slice() boleh mengembalikan dan menyimpan kunci, tetapi ia akan mencipta tatasusunan baharu.
  • Pelajar tersuai memberikan kefleksibelan paling banyak, tetapi ia memerlukan menulis lebih banyak kod.

Atas ialah kandungan terperinci Bagaimana untuk mengembalikan pasangan kunci/nilai semasa dalam tatasusunan dalam PHP dan gerakkan penuding tatasusunan ke hadapan satu langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:lsjlt.com
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!