PHP Array General Functions Part-4: array_key_exists, in_array and array_column function

PHP array_key_exists(), array_key_first(), array_key_last(), in_array() and array_column() function

PHP Array General Function গুলো নিয়ে চতুর্থ পর্বে আপনাকে স্বাগতম। আজকের পর্বে আমরা array_key_exists(), array_key_first(), array_key_last(), in_array() and array_column() function এর বিস্তারিত আলোচনা করব।

PHP array_key_exist() function

array_key_exists() হল PHP -তে একটি built-in function যা একটি অ্যারেতে একটি নির্দিষ্ট key or index আছে কিনা তা পরীক্ষা করতে ব্যবহৃত হয়। অ্যারেতে key টি বিদ্যমান থাকলে এটি true এবং যদি না থাকে তবে false return করে। এই ফাংশনটি বিশেষভাবে উপযোগী যখন আপনি একটি নির্দিষ্ট key একটি associative array তে উপস্থিত আছে কিনা যাচাই করতে চান তার সংশ্লিষ্ট value অ্যাক্সেস করার চেষ্টা করার আগে।

নিম্নে array_key_exists () এর বেসিক সিনট্যাক্স দেওয়া হলো:

array_key_exists(string|int $key, array $array): bool
  • key: আপনি অ্যারেতে যে key টি check করতে চান।
  • array: যে অ্যারেতে আপনি key check করতে চান।

কিভাবে PHP array_key_exists() function কাজ করে?

কিভাবে array_key_exists() pseudocode এ কাজ করতে পারে, তা নিম্নে দেওয়া হলো:

function array_key_exists(key, array)
    for each item in array
        if item.key is equal to key
            return true
    end for
    return false
end function

এই pseudocode উপস্থাপনায়, array_key_exists ফাংশন টি দুটি প্যারামিটার নেয়: key (আপনি যে key টি পরীক্ষা করতে চান) এবং array (যে array তে আপনি key টি পরীক্ষা করতে চান)।

নিম্নে কিভাবে এটা কাজ করে তা দেখানো হলো :

  • অ্যারের প্রতিটি আইটেমের মাধ্যমে ফাংশনটি iterate করে।
  • অ্যারের প্রতিটি আইটেমের জন্য, আর্গুমেন্ট হিসাবে দেওয়া key টি বর্তমান আইটেমের key টির সমান কিনা তা পরীক্ষা করে।
  • যদি এটি একটি মিল খুঁজে পায়, এটি true return করে, যার দ্বারা বুঝানো হয় যে key টি অ্যারেতে বিদ্যমান।
  • অ্যারের সমস্ত আইটেম চেক করার পরেও যদি এটি একটি মিল খুঁজে না পায় তবে এটি false return করে, নির্দেশ করে যে key টি অ্যারেতে উপস্থিত নেই।

নোট : এই pseudocode (সিউডোকোড) উপস্থাপনাটি কীভাবে array_key_exists() ফাঙ্কশনটি কাজ করে তার ধারণাটিকে সহজ করে তোলে iteratively একটি অ্যারের মধ্যে একটি key অনুসন্ধান করার প্রক্রিয়াটি অনুকরণ করে। বাস্তব পিএইচপি ফাংশনটি দক্ষতার জন্য অপ্টিমাইজ করা হয়েছে এবং একদম ঠিক এই অ্যালগরিদমটি ব্যবহার করে না, তবে সিউডোকোড এটির অপেরেশনের একটি কন্সেপচুয়াল ধারণা প্রদান করে।

আপনি কিভাবে array_key_exists() ফাঙ্কশন ব্যবহার করতে পারেন তার একটি উদাহরণ এখানে দেওয়া হল:

$colors = array(
    "red" => "#FF0000",
    "green" => "#00FF00",
    "blue" => "#0000FF"
);

if (array_key_exists("red", $colors)) {
    echo "The key 'red' exists in the array.";
} else {
    echo "The key 'red' does not exist in the array.";
}

এই উদাহরণে, array_key_exists(“red”, $colors) ফাংশনটি $colors array তে “red” key বিদ্যমান আছে কিনা তা পরীক্ষা করতে ব্যবহৃত হয়। যেহেতু “red” অ্যারের একটি key , কোডটি আউটপুট করবে “The key ‘red’ exists in the array.”

Real-World Example:

ধরা যাক আপনি একটি PHP অ্যাপ্লিকেশনের সাথে কাজ করছেন যা একটি associative array তে ইউজারের ডেটা store করে, যেখানে প্রতিটি ইউজারের ইমেল তাদের তথ্যে অ্যাক্সেস করার key হিসাবে ব্যবহৃত হয়। আপনি একটি নির্দিষ্ট email address দিয়ে একটি ইউজার আপনার ইউজারের ডাটাবেস array তে বিদ্যমান কিনা তা পরীক্ষা করতে চান. এক্ষেত্রে আপনি কিভাবে array_key_exists() ব্যবহার করে তা চেক করতে পারেন তার একটি উদাহরণ এখানে দেওয়া হল:

$userDatabase = array(
    "user1@example.com" => array(
        "name" => "John Doe",
        "age" => 30,
        "location" => "New York"
    ),
    "user2@example.com" => array(
        "name" => "Jane Smith",
        "age" => 25,
        "location" => "Los Angeles"
    ),
    // Add more user data as needed
);

$userEmailToCheck = "user2@example.com";

if (array_key_exists($userEmailToCheck, $userDatabase)) {
    $user = $userDatabase[$userEmailToCheck];
    echo "User found: " . $user["name"] . ", " . $user["age"] . " years old.";
} else {
    echo "User with email '$userEmailToCheck' does not exist in the database.";
}

এই উদাহরণে, array_key_exists($userEmailToCheck, $userDatabase) $userEmailToCheck-এ সংরক্ষিত ইমেল ঠিকানা $userDatabase অ্যারেতে একটি key হিসাবে বিদ্যমান কিনা তা পরীক্ষা করতে ব্যবহার করা হয়। email টি বিদ্যমান থাকলে, এটি ইউজারের তথ্য পুনরুদ্ধার করে; অন্যথায়, এটি রিপোর্ট করে যে ইউজারটির অস্তিত্ব নেই।

এই real-world উদাহরণটি দেখায় যে কীভাবে array_key_exists() কার্যকরভাবে associative array গুলির মাধ্যমে manage এবং search করতে ব্যবহার করা যেতে পারে, নিশ্চিত করে যে আপনি অ্যারেতে থাকা key গুলির সাথে যুক্ত ডেটায় অ্যাক্সেস করতে পারেন।

PHP array_key_first() function

PHP তে array_key_first() ফাংশন, একটি অ্যারের প্রথম key বের করতে ব্যবহৃত হয়। আরো বিস্তারিত বললে বলা যায় , এটি Internal array পয়েন্টারকে এফেক্ট না করে প্রদত্ত অ্যারের প্রথম key খুঁজে বের করে।

নিম্নে array_key_first() function এর বেসিক সিনট্যাক্স দেওয়া হলো:

array_key_first(array $array): int|string|null

Parameters

Parameters:

  • $array: যে অ্যারে থেকে আপনি প্রথম এলিমেন্টের key বের করতে চান, সেটি এখানে থাকবে।

Return Values

  • array ফাঁকা না থাকলে array এর প্রথম কী রিটার্ন করে ; অন্যথায় null রিটার্ন করে।

উদাহরণ #1 বেসিক array_key_first() এর ব্যবহার

<?php
$array = ['a' => 1, 'b' => 2, 'c' => 3];

$firstKey = array_key_first($array);

var_dump($firstKey);
?>

Output

string(1) "a"

PHP array_key_last() function

PHP তে array_key_last() ফাংশন, একটি অ্যারের সর্বশেষ key বের করতে ব্যবহৃত হয়। আরো বিস্তারিত বললে বলা যায় , এটি Internal array পয়েন্টারকে এফেক্ট না করে প্রদত্ত অ্যারের প্রথম key খুঁজে বের করে।

নিম্নে array_key_last() function এর বেসিক সিনট্যাক্স দেওয়া হলো:

array_key_last(array $array): int|string|null

Parameters

Parameters:

  • $array: যে অ্যারে থেকে আপনি সর্বশেষ এলিমেন্টের key বের করতে চান, সেটি এখানে থাকবে।

Return Values

  • array ফাঁকা না থাকলে array এর সর্বশেষ কী রিটার্ন করে ; অন্যথায় null রিটার্ন করে।

উদাহরণ #1 বেসিক array_key_last() এর ব্যবহার

<?php
$array = ['a' => 1, 'b' => 2, 'c' => 3];

$lastKey = array_key_last($array);

var_dump($lastKey);
?>

Output

string(1) "c"

PHP in_array() Function

PHP-তে in_array() ফাংশনটি অ্যারের মধ্যে একটি নির্দিষ্ট মান বিদ্যমান কিনা তা পরীক্ষা করতে ব্যবহৃত হয়। অ্যারেতে মানটি পাওয়া গেলে এটি true এবং পাওয়া না গেলে false রিটার্ন করে। এই ফাংশনটি one-dimensional array তে একটি নির্দিষ্ট মান উপস্থিত আছে কিনা তা পরীক্ষা করার জন্য কার্যকর।

নিম্নে in_array() function এর বেসিক সিনট্যাক্স দেওয়া হলো:

in_array(mixed $needle, array $haystack, bool $strict = false): bool
  • $needle: আপনি অ্যারেতে যে মানটি পরীক্ষা করতে চান, সেটি এখানে থাকবে।
  • $hastack: যে অ্যারেতে আপনি মানটি পরীক্ষা করতে চান, সেটি এখানে থাকবে।
  • $strict (optional): true সেট করা থাকলে, ফাংশনটি একটি strict comparison সম্পাদন করে, যার অর্থ শুধুমাত্র মান নয়, data typesও অবশ্যই মিলতে হবে। ডিফল্টরূপে, এটা false থাকে .

কিভাবে PHP in_array() function কাজ করে?

কিভাবে in_array() function, pseudocode এ কাজ করতে পারে, তা নিম্নে দেওয়া হলো:

function in_array(needle, haystack, strict = false)
    if strict is true, then
        for each item in haystack
            if item is equal to needle
                return true
        end for
    else
        for each item in haystack
            if item is equal to needle (non-strict comparison)
                return true
        end for
    end if
    return false
end function

এই pseudocode উপস্থাপনায়, আমাদের ফাংশন in_array যা তিনটি parameters নেয়: $needle (আপনি যে মানটি পরীক্ষা করতে চান), $haystack (যে অ্যারেতে আপনি মানটি পরীক্ষা করতে চান), এবং strict (একটি ঐচ্ছিক প্যারামিটার যা, যদি true সেট করা থাকে, তাহলে এটি strict comparison করে)।

এখানে এটা কিভাবে কাজ করে:

ফাংশনটি strict প্যারামিটারটি true বা falseকিনা তা পরীক্ষা করে।

যদি strict এর মান true হয়, ফাংশনটি strict comparison করবে, যার অর্থ উভয় মান এবং তাদের data types অবশ্যই মিলতে হবে । এটি তারপর haystack array এর প্রতিটি আইটেমের মাধ্যমে iterate করে যে কোনও আইটেম needle এর সমান (strictly equal) কিনা তা পরীক্ষা করে। যদি একটি মিল পাওয়া গেলে, এটি true রিটার্ন করবে। যদি কোন মিল পাওয়া না যায় , এটি false রিটার্ন করবে।

যদি strict এর মান false হয়, ফাংশনটি non-strict comparison সম্পাদন করে, যার অর্থ শুধুমাত্র value অর্থাৎ মান compare করা হবে (অর্থাৎ data type বিবেচনা করা হবেনা)। এটি তারপর haystack অ্যারের প্রতিটি আইটেমের মাধ্যমে iterate করে, যে কোনও আইটেম needle এর সমান (non-strictly equal) কিনা তা পরীক্ষা করে। মিল পাওয়া গেলে, এটি true রিটার্ন করবে। যদি কোন মিল পাওয়া না যায় , এটি false রিটার্ন করবে।

এই pseudocode উপস্থাপনা একটি অ্যারের মধ্যে একটি মান অনুসন্ধানের প্রক্রিয়া অনুকরণ করে এবং strict parameter এর উপর ভিত্তি করে strict and non-strict comparison এর মধ্যে বেছে নেওয়ার মাধ্যমে in_array() ফাংশনটি কীভাবে কাজ করে তার ধারণাটি ব্যাখ্যা করতে সহায়তা করে। প্রকৃত PHP ফাংশনটির efficiency এর জন্য অনেক বেশি অপ্টিমাইজ করা হয়েছে এবং এটি ভিন্ন কোনো internal algorithm ব্যবহার করতে পারে, এখানে মূলত , pseudocode, এর অপারেশনের একটি conceptual understanding প্রদান করে৷

আপনি কিভাবে in_array() ফাঙ্কশন ব্যবহার করতে পারেন তার একটি উদাহরণ এখানে দেওয়া হল:

$fruits = array("apple", "banana", "cherry");

if (in_array("banana", $fruits)) {
    echo "The value 'banana' exists in the array.";
} else {
    echo "The value 'banana' does not exist in the array.";
}

এই উদাহরণে, in_array(“banana”, $fruits) ব্যবহার করা হয় $fruits অ্যারেতে “banana” মান বিদ্যমান কিনা তা পরীক্ষা করতে। যেহেতু “banana” অ্যারের মানগুলির মধ্যে একটি হয়, কোডটি আউটপুট করবে “The value ‘banana’ exists in the array.”

comparison টি strict হওয়া উচিত কিনা তা নির্দিষ্ট করতে আপনি ঐচ্ছিক তৃতীয় প্যারামিটার, strict, ব্যবহার করতে পারেন। উদাহরণ স্বরূপ:

$numbers = array(1, 2, 3);

if (in_array("1", $numbers, true)) {
    echo "The value '1' exists in the array.";
} else {
    echo "The value '1' does not exist in the array.";
}

এই ক্ষেত্রে, আপনি যদি strict প্যারামিটারটিকে true সেট করেন তবে এটি একটি strict comparison সম্পাদন করবে। আর যেহেতু “1” এবং 1 এর সমান নয়, তাই কোডটি আউটপুট করবে “The value ‘1’ does not exist in the array.”

Real-World Example:

আসুন PHP-তে in_array() ফাংশন ব্যবহার করার একটি বাস্তব উদাহরণ দেখি, যেখানে আমরা শিক্ষার্থীদের একটি তালিকা পরিচালনা করতে এবং বিভিন্ন ক্রিয়াকলাপ সম্পাদন করার জন্য একটি সিম্পল প্রোগ্রাম তৈরি করব:

<?php
// A list of students
$students = array(
    "Alice",
    "Bob",
    "Charlie",
    "David",
    "Eve"
);

// Function to check if a student is enrolled
function isEnrolled($studentName, $studentList) {
    if (in_array($studentName, $studentList)) {
        return true;
    } else {
        return false;
    }
}

// Function to display a message based on enrollment status
function displayEnrollmentStatus($studentName, $isEnrolled) {
    if ($isEnrolled) {
        echo "$studentName is enrolled in the class.\n";
    } else {
        echo "$studentName is not enrolled in the class.\n";
    }
}

// Check if students are enrolled
$studentToCheck = "Charlie";
$isEnrolled = isEnrolled($studentToCheck, $students);
displayEnrollmentStatus($studentToCheck, $isEnrolled);

$studentToCheck = "Frank";
$isEnrolled = isEnrolled($studentToCheck, $students);
displayEnrollmentStatus($studentToCheck, $isEnrolled);

// Add students to the list
$students[] = "Frank";
$students[] = "Grace";

// Check if new students are enrolled
$studentToCheck = "Frank";
$isEnrolled = isEnrolled($studentToCheck, $students);
displayEnrollmentStatus($studentToCheck, $isEnrolled);

$studentToCheck = "Grace";
$isEnrolled = isEnrolled($studentToCheck, $students);
displayEnrollmentStatus($studentToCheck, $isEnrolled);

// Display the list of students
echo "List of students: " . implode(", ", $students) . "\n";
?>

এই উদাহরণে, আমাদের আছে:

  • $students অ্যারেতে সংরক্ষিত ছাত্রদের একটি লিস্ট।
  • isEnrolled() ফাংশন যা in_array() ব্যবহার করে একজন শিক্ষার্থী enrolled হয়েছে কিনা তা পরীক্ষা করে।
  • এনরোলমেন্ট স্ট্যাটাসের উপর ভিত্তি করে একটি মেসেজে করার জন্য displayEnrollmentStatus() ফাংশন ব্যবহার করি।
  • আমরা পরীক্ষা করি যে “চার্লি” এবং “ফ্রাঙ্ক” ক্লাসে এনরোল হয়েছে কিনা , যদি হয়ে থাকে তাহলে রেজাল্ট প্রদর্শন করি।
  • আমরা শিক্ষার্থীদের তালিকায় “ফ্রাঙ্ক” এবং “গ্রেস” যোগ করি এবং তাদের enrollment status পুনরায় পরীক্ষা করি।
  • ফাইনালি, আমরা শিক্ষার্থীদের আপডেট করা তালিকা প্রদর্শন করি।

এই উদাহরণটি দেখায় কিভাবে আপনি in_array() ফাংশন ব্যবহার করে শিক্ষার্থীদের একটি তালিকা পরিচালনা করতে এবং তাদের enrollment status পরীক্ষা করতে পারেন, এবং এটি তালিকায় শিক্ষার্থীদের যোগ করারও প্রদর্শন করে।

PHP array_column() function

PHP-তে array_column()() ফাংশনটি অ্যারে গুলোর একটি অ্যারে বা অবজেক্টের অ্যারে থেকে মানগুলির একটি নির্দিষ্ট কলামের মান গুলোর একটি এরে হিসেবে বের করতে ব্যবহৃত হয়। আরো সহজ করে বললে, আপনার কাছে একটি এরে আছে , যার মধ্যে একই নামের কলাম দিয়ে অনেকগুলো রো এর মতো এরে আছে। সেক্ষেত্রে একটি নির্দিষ্ট কলামের বিপরীতে সবগুলো রো এর কলামের ভ্যালু গুলো দিয়ে নতুন এরে তৈরির জন্য এটি ব্যবহৃত হয়।

নিম্নে array_column() function এর বেসিক সিনট্যাক্স দেওয়া হলো:

array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array

    Parameters:

  • $array :একটি multi-dimensional array বা একটি object এর array যেখান থেকে মানগুলির একটি কলাম pull হবে। যদি object এর একটি অ্যারে প্রদান করা হয়, তাহলে public property গুলো সরাসরি pull করা যাবে। protected বা private property গুলিকে pull করে আনার জন্য, ক্লাসটিকে অবশ্যই __get() এবং __isset() উভয় magic methods প্রয়োগ করতে হবে।
  • column_key: যে মানের কলামটি return দিতে হবে। এই মানটি আপনি যে কলামটি retrieve করতে চান তার একটি integer key হতে পারে, অথবা এটি একটি associative array বা property name এর জন্য একটি string key name হতে পারে। এটি সম্পূর্ণ অ্যারে বা অবজেক্ট ফেরত দেওয়ার জন্যও নাল হতে পারে (এটি অ্যারেকে পুনরায় ইন্ডেক্স করার জন্য index_key-এর সাথে একসাথে দরকারী)।
  • index_key: এটি রিটার্নকৃত অ্যারের জন্য index/keys হিসাবে ব্যবহার করার জন্য কলাম। এই মানটি কলামের integer key হতে পারে, অথবা এটি string key name ও হতে পারে। অ্যারে কীগুলির জন্য যথারীতি মানটি cast করা হয় (তবে, পিএইচপি 8.0.0-এর আগে, স্ট্রিং-এ রূপান্তর সমর্থনকারী objects গুলিও অনুমোদিত ছিল)।

Return Values

input array থেকে একটি single column প্রতিনিধিত্বকারী মানগুলির একটি array রিটার্ন করে।

কিভাবে PHP array_column() function কাজ করে?

কিভাবে array_column() pseudocode এ কাজ করতে পারে, তা নিম্নে দেওয়া হলো:

function array_column(input_array, column_key, index_key = null)
    result_array = []  // Initialize an empty array to store extracted values
    
    for each item in input_array
        if index_key is not null, set the index to the value of item[index_key]
        set value to the value of item[column_key]
        append value to result_array
    end for
    
    return result_array  // Return the array of extracted values
end function

এই সিউডোকোডে:

  • input_array ইনপুট অ্যারের প্রতিনিধিত্ব করে যেখান থেকে আপনি মান বের করতে চান।
  • column_key হল সেই কলামের key বা index যার মান আপনি বের করতে চান।
  • index_key (optional) হল সেই key বা index যা আপনি column_key থেকে মান হিসেবে মান এবং index_key-কে key হিসেবে ব্যবহার করে একটি associative array তৈরি করতে পারেন।

input_array তে প্রতিটি আইটেমের মধ্যে ফাংশনটি iterate করে, নির্দিষ্ট কলাম থেকে মানগুলি বের করে এবং result_array তে সংরক্ষণ করে। index_key প্রদান করা হলে, এটি column_key এবং index_key থেকে মান সহ একটি associative array তৈরি করতে এই key ব্যবহার করে। অবশেষে, এটি বের করা মান সহ result_array প্রদান করে।

উদাহরণ #১ একটি recordset থেকে first names কলাম এর সবগুলো মান দিয়ে একটি array

<?php
// Array representing a possible record set returned from a database
$records = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);
 
$first_names = array_column($records, 'first_name');
print_r($first_names);
?>

উপরের উদাহরণের আউটপুট হবে:

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)

উদাহরণ #২ একটি রেকর্ডসেট থেকে last names এর কলাম থেকে একটি এরে পাওয়া, এবং রেকর্ডসেট এর “id”” কলাম দ্বারা ইন্ডেক্স করা

<?php
// Array representing a possible record set returned from a database
$records = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);
 
$last_names = array_column($records, 'last_name', 'id');
print_r($last_names);
?>

উপরের উদাহরণের আউটপুট হবে:

Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)

উদাহরণ #৩ একটি object এর public “username” property থেকে username গুলোর কলাম পেতে

<?php

class User
{
    public $username;

    public function __construct(string $username)
    {
        $this->username = $username;
    }
}

$users = [
    new User('user 1'),
    new User('user 2'),
    new User('user 3'),
];

print_r(array_column($users, 'username'));
?>

উপরের উদাহরণের আউটপুট হবে:

Array
(
    [0] => user 1
    [1] => user 2
    [2] => user 3
)

উদাহরণ #৪ magic __get() method ব্যবহার করে একটি object এর private “name” property থেকে name কলামের এরে পেতে

<?php

class Person
{
    private $name;

    public function __construct(string $name)
    {
        $this->name = $name;
    }

    public function __get($prop)
    {
        return $this->$prop;
    }

    public function __isset($prop) : bool
    {
        return isset($this->$prop);
    }
}

$people = [
    new Person('Fred'),
    new Person('Jane'),
    new Person('John'),
];

print_r(array_column($people, 'name'));
?>

উপরের উদাহরণের আউটপুট হবে:

Array
(
    [0] => Fred
    [1] => Jane
    [2] => John
)

উদাহরণ ৫: একটি বাস্তব উদাহরণ

এখানে একটি real-world এবং feature-rich উদাহরণ রয়েছে যে আপনি কীভাবে PHP -তে array_column() function টি ব্যবহার করতে পারেন এবং object এর একটি অ্যারে থেকে ডেটা প্রসেস এবং ম্যানিপুলেট করতে পারেন। এই উদাহরণে, আমরা user object থেকে একটি অ্যারের সাথে কাজ করব এবং বিভিন্ন ব্যবহারের ক্ষেত্রে নির্দিষ্ট attributes গুলি বের করব।

class User {
    public $id;
    public $name;
    public $email;
    public $age;

    public function __construct($id, $name, $email, $age) {
        $this->id = $id;
        $this->name = $name;
        $this->email = $email;
        $this->age = $age;
    }
}

// Create an array of User objects
$users = array(
    new User(1, "Alice", "alice@example.com", 28),
    new User(2, "Bob", "bob@example.com", 32),
    new User(3, "Charlie", "charlie@example.com", 25),
    new User(4, "David", "david@example.com", 30),
    new User(5, "Eve", "eve@example.com", 22)
);

// Example 1: Extract names of users
$userNames = array_column($users, 'name');

echo "User Names: " . implode(', ', $userNames) . "\n";

// Example 2: Extract emails of users
$userEmails = array_column($users, 'email');

echo "User Emails: " . implode(', ', $userEmails) . "\n";

// Example 3: Create an associative array with IDs as keys
$usersById = array_column($users, null, 'id');

// Access a user by ID
$userIdToAccess = 3;
if (isset($usersById[$userIdToAccess])) {
    $user = $usersById[$userIdToAccess];
    echo "User with ID $userIdToAccess: " . $user->name . "\n";
} else {
    echo "User with ID $userIdToAccess not found.\n";
}

// Example 4: Filter users based on age
$usersOver30 = array_filter($users, function ($user) {
    return $user->age > 30;
});

echo "Users over 30 years old: ";
foreach ($usersOver30 as $user) {
    echo $user->name . ", ";
}

উপরের উদাহরণের আউটপুট হবে:

ser Names: Alice, Bob, Charlie, David, Eve
User Emails: alice@example.com, bob@example.com, charlie@example.com, david@example.com, eve@example.com
User with ID 3: Charlie
Users over 30 years old: Bob, 

এই উদাহরণে, আমাদের কাছে একটি User class রয়েছে যা user objects এর প্রতিনিধিত্ব করে। আমরা user অবজেক্টের একটি অ্যারে তৈরি করি, এবং তারপরে আমরা array_column() ফাংশনের সাথে বিভিন্ন ব্যবহারের ক্ষেত্রে প্রদর্শন করি:

  • ১.প্রথমে আমরা array থেকে ইউজারদের name এবং email গুলো বের বের করি।
  • ২.key হিসাবে user ID গুলো সহ একটি associative array তৈরি করি, যা ID দ্বারা সহজে ইউজার রিট্রিভ এর অনুমতি দেয়।
  • ৩.বয়সের উপর ভিত্তি করে ইউজারদের ফিল্টার করি এবং 30 বছরের বেশি বয়সী ইউজারদের প্রদর্শন করি।

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

Leave a Reply