Comment obtenir tous les caractères alphabétiques dans un tableau en PHP?
176
Existe-t-il un moyen d'obtenir tous les caractères alphabétiques (AZ) dans un tableau en PHP afin que je puisse les parcourir en boucle et les afficher?
J'adore cette réponse. Merci de m'avoir présenté le range()funciton!
Theodore R. Smith
Cela ne semble pas fonctionner avec les caractères Unicode. Mais c'est bien sinon. Je ne sais pas si on pourrait convertir des caractères en nombres entiers et puis le contraire pour contourner ce problème ...
NoOne
3
C'est un problème différent de celui sur lequel le PO a demandé. Cela vaut sa propre question, l'OMI.
PEZ
62
Pour obtenir à la fois les majuscules et les minuscules, fusionnez les deux plages:
PHP a déjà fourni une fonction pour de telles applications. chr(x)renvoie le caractère ascii avec un index entier de x.
Dans certains cas, cette approche devrait s'avérer la plus intuitive.
Consultez http://www.asciitable.com/
<?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
...
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 )
Si vous avez besoin d'un tableau contenant des clés alphabétiques ainsi que des éléments (pour une liste déroulante alphabétique, par exemple), vous pouvez le faire:
C'est peut-être un peu hors-sujet (le sujet a demandé une solution pour AZ uniquement), mais pour les caractères cyrriliques, la solution est:
// 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
Cela répertorie toutes les combinaisons de deux lettres, pourquoi?
Davorin
0
Essaye ça :
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 $listreturn array_diff($newArray, $list);}
print_r(missCharacter(array('a','b','d','g')));
range()
funciton!Pour obtenir à la fois les majuscules et les minuscules, fusionnez les deux plages:
la source
array_combine(range('A', 'Z'), range('a', 'z'))
fonctionnela source
Autrement:
la source
PHP a déjà fourni une fonction pour de telles applications.
chr(x)
renvoie le caractère ascii avec un index entier de x.Dans certains cas, cette approche devrait s'avérer la plus intuitive.
Consultez http://www.asciitable.com/
la source
la source
range
fait, mais c'est une façon plus large de le faire.plage pour AZ mais si vous voulez passer par exemple de A à DU alors:
votre réponse ressemblera à:
la source
Si vous avez besoin d'un tableau contenant des clés alphabétiques ainsi que des éléments (pour une liste déroulante alphabétique, par exemple), vous pouvez le faire:
Rendements:
la source
la source
C'est peut-être un peu hors-sujet (le sujet a demandé une solution pour AZ uniquement), mais pour les caractères cyrriliques, la solution est:
la source
Toutes les bonnes réponses, au cas où quelqu'un chercherait un tableau d'alphabets minuscules et majuscules, la voici:
la source
array_merge(range('A', 'Z'), range('a', 'z'))
la source
Essaye ça :
la source
Minuscules
Lettres capitales
la source