Cara untuk mendapatkan semua karakter alfabet dalam array di PHP?


176

Apakah ada cara untuk mendapatkan semua karakter alfabet (AZ) dalam sebuah array di PHP sehingga saya bisa mengulanginya dan menampilkannya?

Jawaban:


484
$alphas = range('A', 'Z');

21
Saya suka jawaban ini. Terima kasih telah memperkenalkan saya ke range()funciton!
Theodore R. Smith

Ini sepertinya tidak berfungsi dengan karakter Unicode. Tapi ada baiknya sebaliknya. Saya tidak tahu apakah ada yang bisa mengubah karakter menjadi bilangan bulat dan kemudian sebaliknya untuk mem-bypass masalah ini ...
NoOne

3
Itu masalah yang berbeda dari yang ditanyakan OP. Ini layak pertanyaannya sendiri, IMO.
PEZ

62

Untuk mendapatkan huruf besar dan kecil menggabungkan kedua rentang:

$alphas = array_merge(range('A', 'Z'), range('a', 'z'));

2
Juga array_combine(range('A', 'Z'), range('a', 'z'))berfungsi
hakiko

34
$alphabet = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');

20
lucu tapi dapat digunakan
Klik Upvote

Bagus saat Anda berpikir rentang itu () lambat.
Minimihi

13

Cara lain:

$c = 'A';
$chars = array($c);
while ($c < 'Z') $chars[] = ++$c;

9

PHP telah menyediakan fungsi untuk aplikasi tersebut.
chr(x)mengembalikan karakter ascii dengan indeks integer x.
Dalam beberapa kasus, pendekatan ini harus terbukti paling intuitif.
Lihat http://www.asciitable.com/

$UPPERCASE_LETTERS = range(chr(65),chr(90));
$LOWERCASE_LETTERS = range(chr(97),chr(122));
$NUMBERS_ZERO_THROUGH_NINE = range(chr(48),chr(57));

$ALPHA_NUMERIC_CHARS = array_merge($UPPERCASE_LETTERS, $LOWERCASE_LETTERS, $NUMBERS_ZERO_THROUGH_NINE); 

4
<?php 

$array = Array();
for( $i = 65; $i < 91; $i++){
        $array[] = chr($i);
}

foreach( $array as $k => $v){
        echo "$k $v \n";
}

?>

$ php loop.php 
0 A 
1 B 
2 C 
3 D 
4 E 
5 F 
6 G 
7 H
...

Anda hanya dapat melakukan $ array [] = chr ($ i) untuk menambahkan elemen
Tom Haigh

Itu pada dasarnya apa yang rangedilakukan tetapi ini adalah cara yang lebih luas untuk melakukannya.
Ross

Anda mungkin telah menggunakan JavaScript sebentar karena Array () harus benar-benar menjadi array (). Atau, dalam JS, [] :)
alex

4

rentang untuk AZ tetapi jika Anda ingin pergi misalnya dari A ke DU maka:

 function generateAlphabet($na) {
        $sa = "";
        while ($na >= 0) {
            $sa = chr($na % 26 + 65) . $sa;
            $na = floor($na / 26) - 1;
        }
        return $sa;
    }

    $alphabet = Array();
    for ($na = 0; $na < 125; $na++) {
        $alphabet[]=generateAlphabet($na);
    }

    print_r($alphabet);

jawaban Anda akan terlihat seperti:

Array ( [0] => A [1] => B [2] => C [3] => D [4] => E [5] => F [6] => G [7] => H [8] => I [9] => J [10] => K [11] => L [12] => M [13] => N [14] => O [15] => P [16] => Q [17] => R [18] => S [19] => T [20] => U [21] => V [22] => W [23] => X [24] => Y [25] => Z [26] => AA [27] => AB [28] => AC [29] => AD [30] => AE [31] => AF [32] => AG [33] => AH [34] => AI [35] => AJ [36] => AK [37] => AL [38] => AM [39] => AN [40] => AO [41] => AP [42] => AQ [43] => AR [44] => AS [45] => AT [46] => AU [47] => AV [48] => AW [49] => AX [50] => AY [51] => AZ [52] => BA [53] => BB [54] => BC [55] => BD [56] => BE [57] => BF [58] => BG [59] => BH [60] => BI [61] => BJ [62] => BK [63] => BL [64] => BM [65] => BN [66] => BO [67] => BP [68] => BQ [69] => BR [70] => BS [71] => BT [72] => BU [73] => BV [74] => BW [75] => BX [76] => BY [77] => BZ [78] => CA [79] => CB [80] => CC [81] => CD [82] => CE [83] => CF [84] => CG [85] => CH [86] => CI [87] => CJ [88] => CK [89] => CL [90] => CM [91] => CN [92] => CO [93] => CP [94] => CQ [95] => CR [96] => CS [97] => CT [98] => CU [99] => CV [100] => CW [101] => CX [102] => CY [103] => CZ [104] => DA [105] => DB [106] => DC [107] => DD [108] => DE [109] => DF [110] => DG [111] => DH [112] => DI [113] => DJ [114] => DK [115] => DL [116] => DM [117] => DN [118] => DO [119] => DP [120] => DQ [121] => DR [122] => DS [123] => DT [124] => DU ) 

3

Jika Anda memerlukan array yang memiliki kunci alfabet dan elemen (misalnya, untuk daftar dropdown alfabet), Anda bisa melakukan ini:

$alphas = array_combine(range('A','Z'),range('A','Z'))

Hasil:

array (size=26)
  'A' => string 'A' (length=1)
  'B' => string 'B' (length=1)
  'C' => string 'C' (length=1)
  'D' => string 'D' (length=1)
  ...etc


1

Mungkin sedikit offtopic (topik starter meminta solusi untuk AZ saja), tetapi untuk solusinya karakter cyrril adalah:

// to place letters into the array
$alphas = array();
foreach (range(chr(0xC0), chr(0xDF)) as $b) {
    $alphas[] = iconv('CP1251', 'UTF-8', $b);
}    

// or conver array into comma-separated string
$alphas = array_reduce($alphas, function($p, $n) {
  return $p . '\'' . $n . '\',';
});
$alphas = rtrim($alphas, ',');

// echo string for testing
echo $alphas;
// or echo mb_strtolower($alphas); for lowercase letters

1

Semua jawaban yang baik, jika seseorang mencari array huruf kecil dan besar, ini dia:

$alpha = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');

1
bisa jugaarray_merge(range('A', 'Z'), range('a', 'z'))
khandaniel

Saya suka jawaban ini, karena saya bisa menambahkan huruf alfabet kami ke array itu
kv1dr

0
$alphabets = range('A', 'Z');
    $doubleAlphabets = array();
    $count = 0;
    foreach($alphabets as $key => $alphabet)
    {
        $count++;
        $letter = $alphabet;
        while ($letter <= 'Z') 
        {
            $doubleAlphabets[] = $letter;

            ++$letter;
        }
    }

    return $doubleAlphabets;

1
Bisakah Anda memberikan penjelasan dengan jawaban Anda?
Alex Wiese

Ini mencantumkan semua kombinasi dua huruf, mengapa?
Davorin

0

Coba ini :

function missingCharacter($list) {

        // Create an array with a range from array minimum to maximu
        $newArray = range(min($list), max($list));

        // Find those elements that are present in the $newArray but not in given $list
        return array_diff($newArray, $list);
    }
print_r(missCharacter(array('a','b','d','g')));

-1

Huruf kecil

for ($x = 97; $x < 122; $x++) {
    $y = chr($x);
    echo $y;
    echo "<br>";
}

Huruf besar

for ($x = 65; $x < 90; $x++) {
    $y = chr($x);
    echo $y;
    echo "<br>";
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.