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?

Klik Upvote
sumber

Jawaban:

484
$alphas = range('A', 'Z');
PEZ
sumber
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'));
PEZ
sumber
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');
Nathan
sumber
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;
Gumbo
sumber
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); 
Kyle Michael Becker
sumber
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
...
Aaron Maenpaa
sumber
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 ) 
HellBaby
sumber
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
pbarney
sumber
2
$array = range('a', 'z');
benlumley
sumber
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
userlond
sumber
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');
vikramaditya234
sumber
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;
Mohd Aidi
sumber
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')));
Jagadeesha N
sumber
-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>";
}
Raja vikrant Sharma
sumber