পিএইচপি এ্যারে পরিচিতি – প্রথম পর্ব

“মামা-চাচা না থাকলে কিচ্ছু হয়না!”, ছোটবেলা থেকেই এই মহান বানী দেখে-শুনেই বড় হয়েছি। বিশেষ বিশেষ কাজে এ্যারে ধরছি, অরে ধরেছি। কখনো উপরে উঠেছি, আবার কখনো গর্তে পরেছি। সব সময় চাইতাম এ্যারে-অরেকে জীবন থেকে মুছে ফেলতে। যেভাবে ছোট বেলায় কাকের ঠ্যাং, বকের ঠ্যাং লেখাগুলো ইরেজার দিয়ে মুছে ফেলতাম ঠিক তার থেকেও কঠিনভাবে। অনেক শ্রমের বিনিময়ে একটি মুছতে পারলেও অন্যটি পারিনি 🙁 । তাইতো মনের দুঃখে গানের সুরে বলতে ইচ্ছে করে “অনেক সাধনার পরে আমি পেলাম মুছতে অরেকে, পারিনি মুছতে এ্যারেকে আমি তাড়া করে আমাকে”!

ঠিকাছে ঠিকাছে! আমার জন্য আর সমবেদনা দেখাতে হবে না। আমাকে এ্যারে তাড়া করলেও আমি আর দুঃখিত নই, বুঝলেন! কারণ এ এ্যারে সে এ্যারে নয়, এ এ্যারে পিএইচপি এ্যারে, হি হি 😀 । এবার একটু সিরিয়াস কথা বলি, ওকে? পিএইচপিতে এ্যারে হচ্ছে অনেকটা গিরিগিটি টাইপের! যেমন- বহুরুপে থাকতে পারে, নানান সাজে সাজতে পারে, নানান ঠঙে ঠং করতে পারে। সত্যি বলছি কিন্তু! এ্যারে কখনো কী-ভ্যালু হিসেবে থাকে, কখনোবা ইনডেক্স-ভ্যালু হিসেবে থাকে। কখনো আবার ১টি, ২টি কিংবা n সংখ্যক আকারে নিজেই নিজের ভিতর থাকে 😮 । কী অবাক করা বিষয়, তাই না! তাই আপনি যদি একে নারীর মন হিসেবেও ভাবেন তবুও পারফেক্ট হবে, ১০০ তে পুরোই ১০০। তাই আবারো গানের সুরে বলতে ইচ্ছে করছে “এ্যারেরে বুঝতে পারলে ভালো করে এগিয়ে নিবে আপনারে”।

এসো এ্যারে শিখিঃ

বাংলা বর্ণগুলি যেমন স্বরবর্ণ এবং ব্যঞ্জনবর্ণে ভাগ করা, তেমনি এ্যারে নিউমেরিক (Numeric) এবং এ্যাসোসিয়েটিভে (Associative) ভাগ করা। এর সাথে আরও একটা ভাগ আছে, যাকে বলে এমডি এ্যারে! মানে মাল্টি-ডায়মেনশনাল এ্যারে।

নিউমেরিক এ্যারে (Numeric Array) অনেকটা প্রাইমারি স্কুলের ক্লাস রোলের মত। যেমনঃ ১ => সুরভী, ২ => লিটন, ৩ => মমিন। কি এই তিনজনকে চিনতে পারছেন না? চিনতে না পারলে বীজগনিতের x, y ধরাধরির মত ধরে নিন এই তিনজন ছিল আমার প্রাইমারীর টপার। আমার রোল কত ছিল জানতে চাইবেন না? আচ্ছা জানতে না চাইলেও বলছি, আমি অনেক কষ্টে ২০ এর মধ্যে লাকি ৭ নিয়ে বেঁচে ছিলাম 😛 । যেহেতু এখনো বেঁচে আছি নিউমেরিক এ্যারে এবং ক্লাস রোলের পার্থক্যটা বলেই দেই, কি বলেন? পার্থক্য হল, ক্লাস রোল শুরু হয় ১ থেকে আর নিউমেরিক এ্যারে শুরু হয় শূন্য “0” থেকে। অর্থাৎ আমার প্রাইমারির টপারদের নিউমেরিক এ্যারে বানালে সুরভী হত জিরো আর আমি হতাম হিরো 😛 । থুক্কু, আমি হতাম ৬ আর টপাররা হত ০ => সুরভী, ১ => লিটন, ২ => মমিন। নিউমেরিক এ্যারেতে রোল হল ইনডেক্স (Index) আর নাম হল ভ্যালু (Value)

এ্যাসোসিয়েটিভ এ্যারে (Associative Array) আমাদের মন্ত্রীসভার মত। যেমনঃ প্রধানমন্ত্রী => শেখ হাসিনা, অর্থমন্ত্রী => আবুল মাল, কৃষিমন্ত্রী => মতিয়া চৌধুরী … (মন্ত্রীদের বিশাল লিস্ট, অলসতার খাতিরে এড়িয়ে গেলাম)। মন্ত্রীসভার এ্যাসোসিয়েটিভ এ্যারে বানালে প্রধানমন্ত্রী, অর্থমন্ত্রী, কৃষিমন্ত্রী এসব হবে কী (Key) এবং শেখ হাসিনা, আবুল মাল আর মতিয়া চৌধুরী এসব হবে ভ্যালু (Value)

মনে আছে, শুরুতে বলেছিলাম নিজেই নিজের ভিতর থাকতে পারে; ১টি, ২টি কিংবা n সংখ্যক আকারে। হুম, ঠিক ধরতে পেরেছেন! একটা এ্যারে যখন আরেকটা এ্যারের ভিতর কোন কী বা ইনডেক্স এর ভ্যালু হিসেবে থাকে তখন সেটাকে বলে মাল্টি-ডায়মেনশনাল এ্যারে (Multi-Dimensional Array)। আমরা অনেক এ্যারে শিখেছি এবার লিখার পালা। চলুন তাহলে কিভাবে এ্যারে লিখতে হয় শিখে ফেলি।

এসো এ্যারে লিখিঃ

এ্যারে লিখা ভীষণ সহজ, এর জন্য শুধু মাত্র array() ব্যবহার করলেই হয়। array() হল পিএইচপি ল্যাঙ্গুয়েজ কন্সট্রাক্ট (Language Construct) (আমরা কোন এক ঈদের পর ল্যাঙ্গুয়েজ কন্সট্রাক্ট নিয়ে গল্প স্বল্প করব, সে পর্যন্ত আমার সাথে তাল মিলিয়ে চলুন 😀 )। তবে আমাদের পিএইচপি ভার্সন 5.4 অথবা এর থেকে আপডেট হলে আমরা অলসতা করে [] ব্যবহার করে এ্যারে লিখতে পারি। আমি জন্মের অলস তাই আমাদের সকল উদাহরণে [] ব্যবহার করে লিখব 😀 । চলুন তাহলে একসাথে লিখা শুরু করি-

আমরা খুব সহজেই নীচের মত করে নিউমেরিক এ্যারে লিখতে পারিঃ

$mates = ['Surovi', 'Liton', 'Momin', 'Ishad', 'Farjana', 'Mithila', 'Sithila', 'Shahin', 'Sujon', 'Jahid'];

আপনি পিএইচপি এ্যারাবিয়ান হর্স হয়ে থাকলে অথবা এলোমেলো করে ইনডেক্স লিখতে ইচ্ছে করলে নীচের মত করে লিখতে পারেন। বলে রাখি, সচারচর এভাবে কেউ নিউমেরিক এ্যারে লিখে না।

$mates[1] = 'Liton';
$mates[4] = 'Farjana';
$mates[2] = 'Momin';
$mates[0] = 'Surovi';
$mates[5] = 'Mithila';
$mates[6] = 'Sithila';
$mates[3] = 'Ishad';
$mates[7] = 'Shahin';

// Or this way
$mates = [
    0 => 'Surovi',
    1 => 'Liton',
    2 => 'Momin',
    3 => 'Ishad',
    4 => 'Farjana',
    5 => 'Mithila',
    6 => 'Sithila',
    7 => 'Shahin',
    ];

এখন আমরা লিখব এ্যাসোসিয়েটিভ এ্যারে। হুবহু উদাহরণের মত করে লিখবেন কিন্তু, অন্যথায় জেল জরিমানা হতে পারে (You know, no one messes with Ministers)। এ্যাসোসিয়েটিভ এ্যারের বাদিকে থাকে কী (Key) এবং ডান দিকে থাকে ভ্যালু (Value)। কী (Key) লেখার কিছু নিয়ম কানুন আছে এবং কী (Key) কিছু সুনির্দিষ্ট নিয়ম চলে। পরের পর্বে আমরা সেসব নিয়ম-কানুন নিয়ে খোশ গল্প করব।

$ministers = [
    'prodhanmontri'   => 'Sheikh Hasina',
    'orthomontri'     => 'Abul Mal',
    'krishimontri'    => 'Motia Chowdhury',
    'poribohonmontri' => 'Obaidul Kader',
    ];

এবার আমরা লিখব এমডি বা মাল্টি-ডায়মেনশনাল এ্যারে। যেখানে একজন সত্যিকারের লিভিং, ব্রিদিং এমডি মানে ম্যানেজিং ডিরেক্টর থাকবেন। চলুন দেখে নেই কে সেই এমডি!

$colleagues = [
    [
    'name'     => 'Dulal Khan',
    'role'     => 'MD & Head of Design',
    'vacation' => false,
    ],
    [
    'name'     => 'Mosaddek Hossain',
    'role'     => 'Head of UI/UX',
    'vacation' => false,
    ],
    [
    'name'     => 'Hasin Haydar',
    'role'     => 'MD and Head of Design',
    'vacation' => false,
    ],
    [
    'name'     => 'Nahid Bin Azhar',
    'role'     => 'Laravel Ninja',
    'vacation' => false,
    ],
    [
    'name'     => 'Foysal Zafree',
    'role'     => 'Front End Ninja',
    'vacation' => false,
    ],
    [
    'name'     => 'Arifur Rahaman Naim',
    'role'     => 'WordPress Ninja',
    'vacation' => true,
    ],
    ];

আজ এ পর্যন্তই, পরের পর্বে আমরা এ্যারের বিভিন্ন অপারেশন, সার্জারি নিয়ে গল্প করব। যেখানে থাকবে কিভাবে এ্যারের উপাদান (Element) গুনতে (Count) হয়, কিভাবে লুপ চালাতে হয়, কিভাবে এ্যারের উপদান ডিলিট করতে হয় সহ আরও নানান রসালো সব বিষয়।

পরের পর্বের সুবাস সবার আগে পেতে চাইলে স্বয়ংক্রিয় ভালোবাসায় নিবন্ধন (Email Subscription) করুন 😀

সে পর্যন্ত, হ্যাপি লার্নিং 🙂
ধন্যবাদ

Comments

comments