PHP में एक सरणी में सभी वर्णमाला चार्ट प्राप्त करने का तरीका?


176

क्या PHP में एक सरणी में सभी वर्णानुक्रमिक वर्ण (AZ) प्राप्त करने का एक तरीका है ताकि मैं उनके माध्यम से लूप कर सकूं और उन्हें प्रदर्शित कर सकूं?

जवाबों:


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

21
मुझे यह जवाब पसंद है। मुझे range()फ़नसिटी से मिलवाने के लिए धन्यवाद !
थियोडोर आर। स्मिथ

यह यूनिकोड वर्णों के साथ काम नहीं करता है। लेकिन यह अन्यथा अच्छा है। मुझे नहीं पता कि क्या कोई पात्रों को पूर्णांक में बदल सकता है और फिर इस समस्या को दरकिनार करने के लिए विपरीत ...
NoOne

3
ओपी के बारे में पूछे जाने से यह एक अलग समस्या है। यह अपने सवाल के लायक है, IMO।
PEZ

62

ऊपरी और निचले मामले को प्राप्त करने के लिए दोनों श्रेणियों को मिलाएं:

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

2
इसके अलावा array_combine(range('A', 'Z'), range('a', 'z'))काम करता है
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
मजाकिया लेकिन प्रयोग करने योग्य
क्लिक करें

अच्छा है जब आपको लगता है कि सीमा () धीमी है।
मिनीमीह

13

दूसरा रास्ता:

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

9

PHP पहले से ही ऐसे अनुप्रयोगों के लिए एक फ़ंक्शन प्रदान करता है।
chr(x)एक्स के पूर्णांक सूचकांक के साथ एससीआई चरित्र लौटाता है।
कुछ मामलों में, यह दृष्टिकोण सबसे सहज साबित होना चाहिए। 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
...

आप एक तत्व को जोड़ने के लिए बस $ सरणी [] = chr ($ i) कर सकते हैं
टॉम हैघ

यह अनिवार्य रूप से क्या rangeकरता है, लेकिन यह इसे करने का एक व्यापक तरीका है।
रॉस

आपको जावास्क्रिप्ट का उपयोग करने में थोड़ी देर हो सकती है क्योंकि सरणी () वास्तव में सरणी () होनी चाहिए। या, जेएस में, [] :)
एलेक्स

4

AZ के लिए रेंज लेकिन अगर आप ए से DU के लिए उदाहरण के लिए जाना चाहते हैं तो:

 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);

आपका उत्तर ऐसा दिखेगा:

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

यदि आपको एक सरणी की आवश्यकता होती है जिसमें वर्णमाला कुंजी के साथ-साथ तत्व (एक वर्णमाला ड्रॉपडाउन सूची के लिए, उदाहरण के लिए), आप यह कर सकते हैं:

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

पैदावार:

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

हो सकता है कि यह थोड़ा ऑफटॉपिक हो (विषय स्टार्टर ने केवल AZ के लिए समाधान पूछा), लेकिन साइरिलिक वर्ण के लिए विलेय है:

// 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

सभी अच्छे उत्तर, अगर कोई निम्न और ऊपरी मामले के अक्षर की तलाश में है, तो यह है:

$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
यह भी हो सकता हैarray_merge(range('A', 'Z'), range('a', 'z'))
खानदानी

मुझे यह उत्तर पसंद है, क्योंकि मैं अपनी वर्णमाला के अक्षरों को उस सरणी में जोड़ सकता हूं
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
क्या आप अपने उत्तर के साथ कुछ स्पष्टीकरण दे सकते हैं?
एलेक्स विसे

यह सभी दो अक्षर संयोजनों को सूचीबद्ध करता है, क्यों?
Davorin

0

इसे इस्तेमाल करे :

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')));

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.