Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengembalikan pasangan kunci/nilai semasa dalam tatasusunan dalam PHP dan gerakkan penuding tatasusunan ke hadapan satu langkah

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

王林
王林ke hadapan
2024-03-19 15:04:051194semak imbas

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"
?>

2. Gunakan setiap() fungsi

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

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

// 执行其他操作

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

3. Gunakan fungsi array_shift()

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

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

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

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]; // 获取值
?>

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();
}
?>

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam