Hoe een array opnieuw te indexeren in PHP?

| | | | | | | | | | | | | | | |
Het opnieuw indexeren van een array kan worden gedaan met een ingebouwde functie samen. Deze functies zijn:
  • array_combine() functie :Functie array_combine() - het is een ingebouwde functie in PHP die wordt gebruikt om twee arrays te combineren en maak een nieuwe array met één array voor sleutels en een andere array voor waarden. Dat wil zeggen, alle elementen van één array zullen de sleutels zijn van de nieuwe array, en alle elementen van de tweede array zullen de waarden ‚Äã‚Äãvan deze nieuwe array zijn.
  • Functie bereik(): functiebereik() - het is een ingebouwde functie in PHP die wordt gebruikt om een reeks elementen van elk type te maken, zoals gehele getallen, alfabetten in een bepaald bereik (van laag naar hoog), dwz het eerste element van de lijst wordt als laag beschouwd en het laatste als hoog.
  • count() Functie : functie count() wordt gebruikt om de huidige elementen in een array te tellen. De functie kan 0 retourneren voor een variabele die is ingesteld op een lege array. Ook voor een variabele die niet is ingesteld, retourneert de functie 0.
  • array_values ‚Äã‚Äã() Functie :Deze functie wordt gebruikt om haal een array met waarden ‚Äã‚Äã uit een andere array, die sleutel-waardeparen of alleen waarden kan bevatten. De functie maakt een andere array die alle waarden ‚Äã‚Äãopslaat en standaard numerieke toetsen toewijst aan de waarden.
We zullen array_values ‚Äã‚Äã() gebruiken om alle waarden ‚Äã‚Äãvan array en range() om array-elementen te maken die we willen gebruiken als nieuwe sleutels of nieuwe array-index (herindexering). Dan zal de array_combine() functie de array combineren als sleutels en waarden.Voorbeeld 1:
// Declareer een associatieve array$arr = array ( 0 = > `Tony` , 1 = > `Stark` , 2 = > `Iron` , 3 = > `Man`
) ; echo " Array voor opnieuw indexeren " ; < br>// Een foreach-lus gebruiken om array-elementen af te drukken foreach ( $arr as $key = > $value ) { echo "Index:" . $key . "Waarde:" . $value . "" ; }
// Stel een opeenvolgend aantal van drie in e$New_start_index = 3; $arr = array_combine (bereik ( $New_start_index , count ( $arr ) + ( $New_start_index - 1)), array_values ‚Äã‚Äã ( $arr )); echo " Array na opnieuw indexeren " ;
// Een foreach-lus gebruiken om array-elementen af te drukken foreach ( $arr as $key = > $value ) { echo "Index:" . $key . "Waarde:" . $waarde . "" ; }
?>
Afsluiten:
Array voor herindexering Index: 0 Waarde: Tony Index: 1 Waarde: Stark Index: 2 Waarde: Iron Index: 3 Waarde: Man Array na herindexering Index: 3 Waarde: Tony Index: 4 Waarde: Stark Index : 5 Waarde: Iron Index: 6 Waarde: Man 
Voorbeeld 2.Voeg wat gegevens toe aan het begin van de array en extraheer de array vervolgens uit de index.
// Declareer een associatieve array$arr = array ( 0 = > `Tony` , 1 = > `Stark` , 2 = > `Iron` , 3 = > `Man`); echo " Array voor opnieuw indexeren " ;
// Een foreach-lus gebruiken om array-elementen af te drukken foreach ( $arr as $key = > $value ) { echo "Index:" . $key . "Waarde:" . $value . "" ; }
// Stel een volgnummer van drie in$New_start_index = 3; $raw_data = bereik (0, $New_start_index - 1);
// Voeg gegevens toe aan het begin van de array foreach ( $raw_data as $key = > $value ) { array_unshift ( $arr , $value ); } $arr = array_values ‚Äã‚Äã ( $arr );
// Verwijder onnodige index zodat we beginnen bij 10 $arr = array_slice ( $arr , $New_start_index , count ( $arr ), true); echo "Array na opnieuw indexeren" ;
// Een foreach-lus gebruiken om een array af te drukken foreach ( $arr as $key = > $value ) { echo "Index:" . $key . "Waarde:" . $waarde . "" ; }
?>
Afsluiten:
Array voor opnieuw indexeren Index: 0 Waarde: Tony Index: 1 Waarde: Stark Index: 2 Waarde: Iron Index: 3 Waarde: Man Array na opnieuw indexeren Index: 3 Waarde: Tony Index: 4 Waarde: Stark Index: 5 Waarde : Iron Index: 6 Waarde: Man 
Voeg in dit voorbeeld eerst wat data toe aan de array, en daarvoor doen we het opnieuw met een lus, en verwijderen dan de data die we hebben toegevoegd, dus dit is ook niet de beste keuze voor het opnieuw indexeren van de array ... Deze methode is niet geschikt voor het opnieuw indexeren van alfabetische sleutels.Voorbeeld 3:Dit voorbeeld herindexeert een alfabetische array ` p '. Er worden twee extra functies gebruikt om alfabetten opnieuw te indexeren:
  • Functie ord() :De functie ord() - is een ingebouwde PHP-functie die de ASCII-waarde van het eerste teken van een string.
  • CHR() Functie:De CHR()-functie is een ingebouwde functie in PHP die wordt gebruikt om een ASCII-waarde om te zetten in een teken.

// Declareer een associatieve array$arr = array ( `a` = > `India` , `b` = > `Amerika` , `c` = > `Rusland` , `d` = > `China`); echo " Array voor opnieuw indexeren " ;
// Een foreach-lus gebruiken om array-elementen af te drukken foreach ( $arr as $key = > $value ) { echo "Index:" . $key . "Waarde:" . $waarde . "" ; }
// Stel index in van ` p `$New_start_index = ` p` ;
// De functie ord() wordt gebruikt om de ascii-waarde te krijgen
// chr() functie om een getal naar ASCII te converteren$arr = array_combine (bereik ( $ New_start_index , chr ( count ( $arr ) + (ord ( $New_start_index ) - 1))), array_values ‚Äã‚Äã ( $arr )); echo " Array na opnieuw indexeren " ;
// Een foreach-lus gebruiken om een array af te drukken foreach ( $arr as $key = > $value ) { echo " Index:" . $key . "Waarde:" . $value . "" ; }
?>
Afsluiten:
Array voor opnieuw indexeren Index: a Waarde: India Index: b Waarde: Amerika Index: c Waarde: Rusland Index: d Waarde: China Array na herindexering Index: p Waarde: India Index: q Waarde: Amerika Index: r Waarde: Rusland Index: s Waarde: China