Ponowne indeksowanie tablicy można wykonać razem z niektórymi wbudowanymi funkcjami. Te funkcje to:
- funkcja array_combine() :Funkcja array_combine() - jest to wbudowana funkcja w PHP, która służy do łączenia dwóch tablic i utwórz nową tablicę, używając jednej tablicy dla kluczy i innej tablicy dla wartości. Oznacza to, że wszystkie elementy jednej tablicy będą kluczami nowej tablicy, a wszystkie elementy drugiej tablicy będą wartościami tej nowej tablicy.
- Funkcja range(): funkcja range() - jest to wbudowana funkcja w PHP, która służy do tworzenia tablicy elementów dowolnego typu, takich jak liczby całkowite, alfabety w danym zakresie (od niskiego do wysokiego), tzn. pierwszy element listy jest uważany za niski, a ostatni za wysoki.
- count() Funkcja : funkcja count() służy do zliczania bieżących elementów tablicy. Funkcja może zwrócić 0 dla zmiennej, która została ustawiona na pustą tablicę. Również dla zmiennej, która nie jest ustawiona, funkcja zwraca 0.
- array_values ‚Ęã‚Ęã() Funkcja :Ta funkcja służy do pobierz tablicę wartości z innej tablicy, która może zawierać pary klucz-wartość lub tylko wartości. Funkcja tworzy kolejną tablicę, która przechowuje wszystkie wartości „Ę” i domyślnie przypisuje wartościom klucze numeryczne.
Użyjemy array_values „Ę” aby uzyskać wszystkie wartości „Ę” array i range(), aby utworzyć elementy tablicy, których chcemy użyć jako nowych kluczy lub nowego indeksu tablicy (reindeksowanie). Następnie funkcja array_combine() połączy tablicę jako klucze i wartości.
Przykład 1:
// Zadeklaruj tablicę asocjacyjną
$arr
=
tablica
(
0 = >
`Tony`
,
1 = >
`Stark`
,
2 = >
`Żelaza`
,
3 = >
`Człowiek`
) ;
echo
" Tablica przed ponownym indeksowaniem "
;
< br>// Używanie pętli foreach do drukowania elementów tablicy
foreach
(
$arr
as
$key
= >
$value
) {
echo
"Indeks:"
.
$klucz
.
"Wartość:"
.
$value
.
"
;
}
// Ustaw kolejny numer thre e
$New_start_index
= 3;
$arr
=
array_combine
(zakres (
$New_start_index
,
count
(
$arr
) + (
$New_start_index
- 1)),
array_values ‚Ęã‚Ęã (
$arr
));
echo
" Tablica po ponownym indeksowaniu "
;
// Używanie pętli foreach do drukowania elementów tablicy
foreach
(
$arr
as
$key
= >
$wartość
) {
echo
"Indeks:"
.
$klucz
.
"Wartość:"
.
$wartość
.
""
;
}
?>
Wyjdź: Array przed ponownym indeksowaniem Indeks: 0 Wartość: Indeks Tony`ego: 1 Wartość: Indeks Starka: 2 Wartość: Indeks Iron: 3 Wartość: Man Array po ponownej indeksacji Indeks: 3 Wartość: Indeks Tony`ego: 4 Wartość: Indeks Starka : 5 Wartość: Iron Indeks: 6 Wartość: Man
Przykład 2.Dodaj trochę danych na początku tablicy, a następnie wyodrębnij tablicę z indeksu.
// Zadeklaruj tablicę asocjacyjną
$arr
=
tablica
(
0 = >
`Tony`
,
1 = >
`Stark`
,
2 = >
`Żelaza`
,
3 = >
`Człowiek`
);
echo
" Tablica przed ponownym indeksowaniem"
;
// Używanie pętli foreach do drukowania elementów tablicy
foreach
(
$arr
as
$klucz
= >
$wartość
) {
echo
"Indeks:"
.
$klucz
.
"Wartość:"
.
$value
.
"
;
}
// Ustaw kolejny numer trzy$New_start_index
= 3;
$raw_data
= zakres (0,
$New_start_index
- 1);
// Dodaj dane na początek tablicy
foreach
(
$raw_data
as
$key
= >
$value
) {
array_unshift
(
$arr
,
$wartość );
}
$arr
=
array_values ‚Ęã‚Ęã
(
$arr
);
// Usuń niepotrzebny indeks, więc zaczynamy od 10 $arr
=
array_slice
(
$arr
,
$New_start_index
,
count
(
$arr
), true);
echo
"Tablica po ponownym indeksowaniu"
;
// Używanie pętli foreach do drukowania tablicy
foreach
(
$arr
as
$key
= >
$value ) {
echo
"Indeks:"
.
$key
.
"Wartość:"
.
$wartość
.
""
;
}
?>
Wyjście: Tablica przed ponownym indeksowaniem Indeks: 0 Wartość: Indeks Tony`ego: 1 Wartość: Indeks Starka: 2 Wartość: Indeks Iron: 3 Wartość: Man Array po ponownej indeksacji Indeks: 3 Wartość: Indeks Tony`ego: 4 Wartość: Indeks Starka: 5 Wartość : Iron Index: 6 Wartość: Man
W tym przykładzie najpierw dodajemy jakieś dane do tablicy, a do tego robimy to ponownie za pomocą pętli, a następnie usuwamy dane które dodaliśmy, więc to też nie jest najlepsze wybór do ponownego indeksowania tablicy ... Ta metoda nie jest odpowiednia do ponownego indeksowania kluczy alfabetycznych.Przykład 3:Ten przykład ponownie indeksuje tablicę alfabetyczną „p '. Dwie dodatkowe funkcje są używane do ponownego indeksowania alfabetów:- Funkcja ord() :Funkcja ord() — jest wbudowaną funkcją PHP, która zwraca Wartość ASCII pierwszego znaku ciągu.
- CHR() Funkcja:Funkcja CHR() jest wbudowaną funkcją PHP, która służy do konwersji wartości ASCII na znak.
// Zadeklaruj tablicę asocjacyjną
$arr
=
tablica
(
`a`
= >
`Indie`
,
`b`
= >
`Ameryka`
,
`c`
= >
`Rosja`
,
`d`
= >
`Chiny`
);
echo
" Tablica przed ponownym indeksowaniem "
;
// Używanie pętli foreach do drukowania elementów tablicy
foreach
(
$arr
as
$key
= >
$wartość
) {
echo
"Indeks:"
.
$klucz
.
"Wartość:"
.
$wartość
.
""
;
}
// Ustaw indeks z „ p ”
$New_start_index
=
” p”
;
// Funkcja ord() służy do pobrania wartości ascii
// chr() funkcja konwertująca liczbę do ASCII
$arr
=
array_combine
(zakres (
$ New_start_index
,
chr (
count
(
$arr
) + (ord (
$New_start_index
) - 1))),
array_values ‚Ęã‚Ęã
(
$arr
));
echo
" Tablica po ponownym indeksowaniu "
;
// Używanie pętli foreach do drukowania tablicy
foreach
(
$arr
as
$key
= > $wartość ) {
echo
" Indeks:"
.
$key
.
"Wartość:"
.
$wartość
.
""
;
}
?>
Wyjście:Tablica przed ponownym indeksowaniem Indeks: a Wartość: Indie Indeks: b Wartość: Ameryka Indeks: c Wartość: Rosja Indeks: d Wartość: Chiny Tablica po przeindeksowaniu Indeks: p Wartość: Indie Indeks: q Wartość: Ameryka Indeks: r Wartość: Rosja Indeks: s Wartość: Chiny