পিএইচপি-তে একটি অ্যারেতে সমস্ত বর্ণমালা অক্ষর পাওয়ার উপায়?


176

পিএইচপি-তে একটি অ্যারেতে সমস্ত বর্ণমালা অক্ষর (এজেড) পাওয়ার কী উপায় আছে যাতে আমি সেগুলি লুপ করে সেগুলি প্রদর্শন করতে পারি?

উত্তর:


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

21
আমি এই উত্তর ভালবাসি। range()ফানসিটনে আমার পরিচয় করানোর জন্য আপনাকে ধন্যবাদ !
থিওডোর আর স্মিথ

এটি ইউনিকোড অক্ষরগুলির সাথে কাজ করে বলে মনে হচ্ছে না। তবে এটি অন্যথায় ভাল। আমি জানি না যে কোনও ব্যক্তি চরিত্রগুলিকে পূর্ণসংখ্যায় রূপান্তর করতে পারে এবং তারপরে বিপরীতে এই সমস্যাটিকে বাইপাস করতে পারে ...
NoOne

3
ওপি যে বিষয়ে জিজ্ঞাসা করেছে তার চেয়ে আলাদা সমস্যা এটি। আইএমও এর নিজস্ব প্রশ্নটি মূল্যবান।
পিইজেড

62

উপরের এবং নিম্নতর উভয় ক্ষেত্রে দুটি রেঞ্জকে একত্রিত করতে:

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

2
এছাড়াও array_combine(range('A', 'Z'), range('a', 'z'))কাজ করে
হাকিকো



9

এই জাতীয় অ্যাপ্লিকেশনগুলির জন্য পিএইচপি ইতিমধ্যে একটি ফাংশন সরবরাহ করেছে।
chr(x)x এর পূর্ণসংখ্যার সূচক সহ ascii অক্ষর প্রদান করে।
কিছু ক্ষেত্রে, এই পদ্ধতির সর্বাধিক স্বজ্ঞাত প্রমাণ করা উচিত।
পড়ুন 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

এজেডের জন্য পরিসীমা তবে আপনি যদি উদাহরণস্বরূপ এ থেকে ডিইউতে যেতে চান তবে:

 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

হতে পারে এটি সামান্য অফটোপিক (টপিক স্টার্টার কেবল এজেডের জন্য সমাধান জিজ্ঞাসা করেছেন), তবে সিরিলিক চরিত্রের সলিউশনটি হ'ল:

// 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
আপনি কি আপনার উত্তর দিয়ে কিছু ব্যাখ্যা সরবরাহ করতে পারেন?
অ্যালেক্স উইস

এই দুটি অক্ষরের সংমিশ্রনের তালিকা, কেন?
ডিভোরইন

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.