PHP`de bir dizi nasıl yeniden indekslenir?

| | | | | | | | | | | | | | | |
Bir diziyi yeniden indekslemek, bazı yerleşik işlevlerle birlikte yapılabilir. Bu işlevler şunlardır:
  • array_combine() işlevi :Array_combine() işlevi - iki diziyi birleştirmek için kullanılan PHP`de yerleşik bir işlevdir ve anahtarlar için bir dizi ve değerler için başka bir dizi kullanarak yeni bir dizi oluşturun. Yani, bir dizinin tüm elemanları yeni dizinin anahtarları olacak ve ikinci dizinin tüm elemanları bu yeni dizinin ‚Äã‚Äâo değerleri olacaktır.
  • İşlev aralık(): işlev aralığı() - belirli bir aralıktaki tamsayılar, alfabeler gibi herhangi bir türden öğe dizisini oluşturmak için kullanılan PHP`de yerleşik bir işlevdir (düşükten yükseğe), yani listenin ilk öğesi düşük olarak kabul edilir ve sonuncusu yüksek olarak kabul edilir.
  • count() işlev : işlev count() bir dizideki mevcut elemanları saymak için kullanılır. İşlev, boş bir diziye ayarlanmış bir değişken için 0 döndürebilir. Ayrıca, ayarlanmamış bir değişken için işlev 0 döndürür.
  • dizi_değerleri ‚Äã‚Äã() İşlev :Bu işlev, anahtar/değer çiftlerini veya yalnızca değerleri içerebilen başka bir diziden bir dizi değer ‚Äã‚Äã alın. İşlev, tüm ‚Äã‚Äãã değerlerini depolayan ve varsayılan olarak değerlere sayısal tuşlar atayan başka bir dizi oluşturur.
‚Äã‚Äãof`un tüm değerlerini almak için ‚Äã‚Äã() dizi_değerlerini kullanacağız. yeni anahtarlar veya yeni dizi dizini (yeniden dizin oluşturma) olarak kullanmak istediğimiz bir dizi öğeleri oluşturmak için dizi ve aralık(). Ardından array_combine() işlevi diziyi anahtarlar ve değerler olarak birleştirir.Örnek 1:
// İlişkili bir dizi bildir$dizi = dizi ( 0 = > `Tony` , 1 = > `Stark` , 2 = > `Demir`
, 3 = > `Adam`
) ; echo " Yeniden indekslemeden önce dizi " ; < br>// Dizi öğelerini yazdırmak için bir foreach döngüsü kullanma foreach ( $arr as $key = > $değer ) { eko "Dizin:" .
$key . "Değer:" . $değer . "" ; }
// Sıralı bir üç sayı ayarlayın e$New_start_index = 3; $dizi = array_combine (aralık ( $New_start_index , count >( $dizi ) + ( $New_start_index - 1)), array_values ‚Äã‚Äã ( $dizi )); eko " Yeniden indekslendikten sonra dizi " ;
// Dizi öğelerini yazdırmak için bir foreach döngüsü kullanma foreach ( $dizi as $key = > $değer ) { eko "Dizin:" .
$key . "Değer:" . $değer . "" ; }
?> Çıkış:
Dizi yeniden indekslemeden önce İndeks: 0 Değer: Tony İndeksi: 1 Değer: Stark İndeksi: 2 Değer: Demir İndeksi: 3 Değer: Man Array yeniden indekslemeden sonra İndeks: 3 Değer: Tony İndeksi: 4 Değer: Stark İndeksi : 5 Değer: Demir Dizin: 6 Değer: Man 
Örnek 2.Dizin başına biraz veri ekleyin ve ardından diziyi dizinden çıkarın.
// İlişkili bir dizi bildir$dizi = dizi ( 0 = > `Tony` , 1 = > `Stark` , 2 = > `Demir` , 3 = > `Adam`); echo " Yeniden indekslemeden önce dizi " ;
// Dizi öğelerini yazdırmak için bir foreach döngüsü kullanma foreach ( $arr as $key = > $değer ) { eko "Index:" . $key . "Değer:" . $değer . "" ; }
// Üçlü bir sıralı sayı belirleyin$New_start_index = 3; $raw_data = aralık (0, $New_start_index - 1);
// Dizinin başına veri ekle foreach ( $raw_data as $key = > $değer ) { array_unshift ( $dizi , $değer ); } $dizi = dizi_değerleri ‚Äã‚Äã ( $dizi );
// Gereksiz dizini kaldırın, böylece 10`dan başlayalım $dizi = array_slice ( $dizi , $New_start_index , count ( $dizi ), true); echo "Yeniden indekslendikten sonra dizi" ;
// Bir dizi yazdırmak için bir foreach döngüsü kullanma foreach ( $dizi as $key = > $değer ) { eko "İndeks:" . $key .
"Değer:" . $değer . "" ; }
?>
Çıkış:
Dizi yeniden indekslemeden önce İndeks: 0 Değer: Tony İndeksi: 1 Değer: Stark İndeks: 2 Değer: Demir İndeksi: 3 Değer: Man Array yeniden indekslemeden sonra İndeks: 3 Değer: Tony İndeksi: 4 Değer: Stark İndeks: 5 Değer : Demir İndeks: 6 Değer: Man 
Bu örnekte önce diziye bir miktar veri ekleyin ve bunun için tekrar bir döngü ile yapıyoruz ve ardından eklediğimiz verileri siliyoruz yani bu da en iyisi değil diziyi yeniden indekslemek için seçim ... Bu yöntem alfabetik anahtarları yeniden indekslemek için uygun değildir.Örnek 3:Bu örnek, ` p ' alfabetik dizisini yeniden indeksler. Alfabeleri yeniden dizine eklemek için iki ek işlev kullanılır:
  • İşlev ord() :ord() işlevi - yerleşik bir PHP işlevidir. Bir dizenin ilk karakterinin ASCII değeri.
  • CHR() İşlev:CHR() işlevi, PHP`de yerleşik bir işlevdir. bir ASCII değerini bir karaktere dönüştürmek için kullanılır.

// İlişkili bir dizi bildir$dizi = dizi ( `a` = > `Hindistan` ,
`b` = > `Amerika` , `c` = > `Rusya` , `d` = > `Çin`); eko " Yeniden indekslemeden önce dizi " ;
// Dizi öğelerini yazdırmak için bir foreach döngüsü kullanma foreach ( $dizi as $key = > $değer ) { eko "Dizin:" .
$key . "Değer:" . $değer . "" ; }
// ` p ` dan dizini ayarla$New_start_index = ` p` ;
// ascii değerini almak için ord() işlevi kullanılır
// chr() bir sayıyı ASCII`ye dönüştürme işlevi$dizi = array_combine (aralık ( $) New_start_index , chr ( sayım ( $dizi ) + (ord ( $New_start_index ) - 1)), array_values ‚Äã‚Äã ( $dizi )); eko " Yeniden indekslendikten sonra dizi " ;
// Bir diziyi yazdırmak için bir foreach döngüsü kullanma foreach ( $dizi as $key = > $değer ) { eko " Dizin:" . $key . "Değer:" .
$value . "" ; }
?> Çıkış:
Yeniden indekslemeden önce dizi İndeks: a Değer: Hindistan İndeks: b Değer: Amerika İndeks: c Değer: Rusya İndeksi: d Değer: Yeniden indekslendikten sonra Çin Dizisi İndeks: p Değer: Hindistan İndeksi: q Değer: Amerika İndeksi: r Değer: Rusya İndeksi: s Değer: Çin