Practical use of PHP array_keys function

array_keys function

PHP-তে array_keys ফাংশন একটি অ্যারে থেকে সমস্ত কী গুলো পৃথক করে আলাদা একটা array তৈরি করতে ব্যবহৃত হয়। আপনি এটি বিভিন্ন পরিস্থিতিতে ব্যবহার করতে পারেন যেখানে আপনাকে অ্যারের মানগুলির পরিবর্তে কীগুলির সাথে কাজ করতে হবে। এখানে array_keys এর জন্য কিছু সাধারণ ব্যবহারের ক্ষেত্র নিয়ে আলোচনা করা হলো :

১. Search and Find:

আপনি একটি অ্যারের মধ্যে নির্দিষ্ট value অনুসন্ধান করতে এবং তাদের সম্পর্কিত কী গুলি রিট্রিভ করতে array_keys ফাঙ্কশনটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি একটি নির্দিষ্ট value এর সমস্ত ঘটনা খুঁজে পেতে চান, আপনি তাদের অবস্থান সনাক্ত করতে array_keys ব্যবহার করতে পারেন।

উদাহরণ ১:

চলুন একটি বাস্তব কাজের একটি উদাহরণ দেখা যাক, যেখানে array_keys একটি অ্যারের মধ্যে নির্দিষ্ট মান অনুসন্ধান এবং খুঁজে পেতে ব্যবহার করা হয়। ধরুন আপনি একটি customer relationship management (CRM) সিস্টেম তৈরি করছেন এবং আপনাকে সেই সমস্ত কাস্টমারদের জন্য অনুসন্ধান করতে হবে যারা সময়ের সাথে সাথে একাধিক কেনাকাটা করেছে।

<?php
// Sample CRM data with customer names and purchase counts
$crmData = array(
    "Alice" => 3,
    "Bob" => 2,
    "Charlie" => 5,
    "David" => 3,
    "Eve" => 1,
    "Frank" => 2,
);

// Function to find customers with multiple purchases using array_keys
function findCustomersWithMultiplePurchases($data, $minPurchases) {
    // Use array_keys to get an array of customer names with purchase counts meeting the criteria
    $customersWithMultiplePurchases = array_keys(array_filter($data, function ($purchases) use ($minPurchases) {
        return $purchases >= $minPurchases;
    }));

    return $customersWithMultiplePurchases;
}

// Example usage
$minPurchases = 3; // Minimum number of purchases to qualify
$multiplePurchaseCustomers = findCustomersWithMultiplePurchases($crmData, $minPurchases);

if (!empty($multiplePurchaseCustomers)) {
    echo "Customers with $minPurchases or more purchases are:<br>";
    foreach ($multiplePurchaseCustomers as $customer) {
        echo $customer . "<br>";
    }
} else {
    echo "No customers with $minPurchases or more purchases found.";
}
?>

এই উদাহরণে, CRM সিস্টেমে কাস্টমারের ডেটা অর্থাৎ তাদের নাম এবং তাদের কেনার সংখ্যা রয়েছে। FindCustomersWithMultiplePurchases ফাংশন array_keys ব্যবহার করে এমন কাস্টমারদের অনুসন্ধান করবে যারা অন্তত একটি নির্দিষ্ট সংখ্যক কেনাকাটা করেছেন। এটি কাস্টমারদের নাম গুলো দিয়ে একটি অ্যারে রিটার্ন করে যারা উক্ত মানদণ্ড পূরণ করে।

এটি একটি অ্যারের মধ্যে নির্দিষ্ট মানগুলি অনুসন্ধান এবং খুঁজে পাওয়ার জন্য array_key-এর একটি বাস্তব অ্যাপ্লিকেশন প্রদর্শন করে, যা আপনাকে এমন কাস্টমারদের সনাক্ত করতে দেয় যারা একটি CRM সিস্টেমে নির্দিষ্ট মানদণ্ড পূরণ করে।

তবে উপরের উদাহরণটিতে array_keys function ব্যবহার করতেই হবে , এমন কোনো বাধ্য বাধকতা নাই। আপনি চাইলে array_keys ফাঙ্কশন এর পরিবর্তে foreach ব্যবহার করতে পারেন।

<?php
// Sample CRM data with customer names and purchase counts
$crmData = array(
    "Alice" => 3,
    "Bob" => 2,
    "Charlie" => 5,
    "David" => 3,
    "Eve" => 1,
    "Frank" => 2,
);

// Function to find customers with multiple purchases
function findCustomersWithMultiplePurchases($data, $minPurchases) {
    $customersWithMultiplePurchases = array();
    
    // Use array_keys to find customers with the specified purchase count
    foreach ($data as $customer => $purchases) {
        if ($purchases >= $minPurchases) {
            $customersWithMultiplePurchases[] = $customer;
        }
    }
    
    return $customersWithMultiplePurchases;
}

// Example usage
$minPurchases = 3; // Minimum number of purchases to qualify
$multiplePurchaseCustomers = findCustomersWithMultiplePurchases($crmData, $minPurchases);

if (!empty($multiplePurchaseCustomers)) {
    echo "Customers with $minPurchases or more purchases are:<br>";
    foreach ($multiplePurchaseCustomers as $customer) {
        echo $customer . "<br>";
    }
} else {
    echo "No customers with $minPurchases or more purchases found.";
}
?>

২. Filtering:

আপনি নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে একটি অ্যারে ফিল্টার করতে array_keys ফাঙ্কশন ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি যদি নির্দিষ্ট শর্ত পূরণ করে এমন elements গুলি বের করতে চান তবে আপনি array_keys ব্যবহার করে তাদের key গুলি পেতে পারেন।

উদাহরণ ১:

আসুন একটি বাস্তব-বিশ্বের দৃশ্য বিবেচনা করি যেখানে আপনি একটি ই-কমার্স ওয়েবসাইটের জন্য একটি প্রোডাক্ট ক্যাটালগ তৈরি করতে চান । আপনি array_keys ব্যবহার করে নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে প্রোডাক্ট গুলিকে ফিল্টার এবং প্রদর্শন করতে চান, যেমন price range এবং category।

<?php
// Sample product catalog data
$productCatalog = array(
    "product1" => array("name" => "Laptop", "category" => "Electronics", "price" => 800),
    "product2" => array("name" => "Headphones", "category" => "Electronics", "price" => 50),
    "product3" => array("name" => "Shoes", "category" => "Fashion", "price" => 75),
    "product4" => array("name" => "Book", "category" => "Books", "price" => 20),
    "product5" => array("name" => "TV", "category" => "Electronics", "price" => 600),
    "product6" => array("name" => "T-shirt", "category" => "Fashion", "price" => 30),
);

// Function to filter products based on price range and category using array_keys
function filterProducts($catalog, $minPrice, $maxPrice, $category) {
    $filteredProductKeys = array_keys(array_filter($catalog, function ($product) use ($minPrice, $maxPrice, $category) {
        return $product["price"] >= $minPrice && $product["price"] <= $maxPrice && $product["category"] === $category;
    }));

    return $filteredProductKeys;
}

// Example usage
$minPrice = 30;
$maxPrice = 100;
$category = "Electronics";
$filteredProductKeys = filterProducts($productCatalog, $minPrice, $maxPrice, $category);

if (!empty($filteredProductKeys)) {
    echo "Filtered products in the '$category' category with prices between $$minPrice and $$maxPrice:<br>";
    foreach ($filteredProductKeys as $productKey) {
        $product = $productCatalog[$productKey];
        echo "Product Name: " . $product["name"] . "<br>";
        echo "Price: $" . $product["price"] . "<br>";
        echo "Category: " . $product["category"] . "<br><br>";
    }
} else {
    echo "No products found matching the criteria.";
}
?>

এই উদাহরণে, filterProducts ফাংশন array_keys ব্যবহার করে নির্দিষ্ট মানদণ্ডের উপর ভিত্তি করে ক্যাটালগ থেকে product key গুলো ফিল্টার এবং রিট্রিভ করে, যেমন একটি price range এবং একটি product category। এটি প্রদর্শন করে যে আপনি কীভাবে নির্দিষ্ট শর্তের উপর ভিত্তি করে একটি অ্যারে ফিল্টার করতে array_keys ব্যবহার করতে পারেন, আপনাকে একটি ই-কমার্স প্রোডাক্ট ক্যাটালগে নির্দিষ্ট মানদণ্ড পূরণ করে এমন প্রোডাক্ট গুলিকে বের করতে এবং প্রদর্শন করতে দেয়।

তবে উপরের উদাহরণটিতে array_keys function ব্যবহার করতেই হবে , এমন কোনো বাধ্য বাধকতা নাই। আপনি চাইলে array_keys ফাঙ্কশন এর পরিবর্তে foreach ব্যবহার করতে পারেন।

<?php
// Sample product catalog data
$productCatalog = array(
    "product1" => array("name" => "Laptop", "category" => "Electronics", "price" => 800),
    "product2" => array("name" => "Headphones", "category" => "Electronics", "price" => 50),
    "product3" => array("name" => "Shoes", "category" => "Fashion", "price" => 75),
    "product4" => array("name" => "Book", "category" => "Books", "price" => 20),
    "product5" => array("name" => "TV", "category" => "Electronics", "price" => 600),
    "product6" => array("name" => "T-shirt", "category" => "Fashion", "price" => 30),
);

// Function to filter products based on price range and category
function filterProducts($catalog, $minPrice, $maxPrice, $category) {
    $filteredProductKeys = array();

    foreach ($catalog as $key => $product) {
        $price = $product["price"];
        $productCategory = $product["category"];

        if ($price >= $minPrice && $price <= $maxPrice && $productCategory === $category) {
            $filteredProductKeys[] = $key;
        }
    }

    return $filteredProductKeys;
}

// Example usage
$minPrice = 30;
$maxPrice = 100;
$category = "Electronics";
$filteredProductKeys = filterProducts($productCatalog, $minPrice, $maxPrice, $category);

if (!empty($filteredProductKeys)) {
    echo "Filtered products in the '$category' category with prices between $$minPrice and $$maxPrice:<br>";
    foreach ($filteredProductKeys as $productKey) {
        $product = $productCatalog[$productKey];
        echo "Product Name: " . $product["name"] . "<br>";
        echo "Price: $" . $product["price"] . "<br>";
        echo "Category: " . $product["category"] . "<br><br>";
    }
} else {
    echo "No products found matching the criteria.";
}
?>

উদাহরণ ২:

আসুন আরো একটি বাস্তব দৃশ্য বিবেচনা করি যেখানে আপনার কাছে শিক্ষার্থীদের গ্রেডের একটি লিস্ট রয়েছে এবং আপনি array_keys ফাংশন ব্যবহার করে একটি নির্দিষ্ট grade point average (GPA) এর উপরে স্কোর করা ছাত্রদের ফিল্টার এবং প্রদর্শন করতে চান।

<?php
// Sample array of student grades
$students = [
    ["name" => "Alice", "grade" => 3.9],
    ["name" => "Bob", "grade" => 3.2],
    ["name" => "Charilie", "grade" => 3.5],
    ["name" => "David", "grade" => 3.8],
    ["name" => "Murphy", "grade" => 2.9],
    ["name" => "Frank", "grade" => 3.7],
];

$names = array_column($students, 'name');
$grades = array_column($students, 'grade');
$studentGrades = array_combine($names, $grades);

// Function to filter students with a GPA above a certain threshold
function filterStudentsByGPA($grades, $minGPA) {
    $highScoringStudents = array_keys(array_filter($grades, function ($gpa) use ($minGPA) {
        return $gpa >= $minGPA;
    }));

    return $highScoringStudents;
}

// Example usage
$minGPA = 3.5; // Minimum GPA to qualify
$highGPAStudents = filterStudentsByGPA($studentGrades, $minGPA);

if (!empty($highGPAStudents)) {
    echo "Students with a GPA of $minGPA or higher are:<br>";
    foreach ($highGPAStudents as $student) {
        echo $student . " (GPA: " . $studentGrades[$student] . ")<br>";
    }
} else {
    echo "No students found with a GPA of $minGPA or higher.";
}
?>

এই উদাহরণে, filterStudentsByGPA ফাংশন array_keys ব্যবহার করে নির্দিষ্ট ন্যূনতম GPA থ্রেশহোল্ডের সমান বা তার বেশি GPA আছে এমন ছাত্রদের নাম ফিল্টার এবং রিট্রিভ করে। এটি প্রদর্শন করে যে আপনি কীভাবে নির্দিষ্ট শর্তের উপর ভিত্তি করে একটি অ্যারে ফিল্টার করতে array_keys ব্যবহার করতে পারেন, আপনাকে ছাত্র গ্রেডের তালিকায় high-scoring students দের বের করতে এবং প্রদর্শন করতে দেয়।

উদাহরণ ৩:

আসুন আমরা আরো একটি বাস্তব পরিস্থিতি বিবেচনা করি যেখানে আপনার কাছে employee data এর একটি কালেকশন রয়েছে এবং আপনি এমন এমপ্লয়ীদের ফিল্টার এবং প্রদর্শন করতে চান যারা নির্দিষ্ট মানদণ্ড পূরণ করে, যেমন একটি নির্দিষ্ট job title এবং কত বছরের কাজের অভিজ্ঞতা ইত্যাদি। এই ধরণের কাজে array_keys ফাঙ্কশন ব্যবহার করতে পারেন৷

<?php
// Sample employee data

$employeesData = [
    ["employee_name" => "John", "job_title" => "Manager", "years_of_experience" => 5],
    ["employee_name" => "Alice", "job_title" => "Engineer", "years_of_experience" => 3],
    ["employee_name" => "Bob", "job_title" => "Designer", "years_of_experience" => 7],
    ["employee_name" => "Marphy", "job_title" => "Manager", "years_of_experience" => 4],
    ["employee_name" => "Charlie", "job_title" => "Engineer", "years_of_experience" => 2],
];

$employeeNames = array_column($employeesData, "employee_name");

// $employeeDetails now contains the data in the desired format
$employeeDetails = array_combine($employeeNames, $employeesData);

//print_r($employeeDetails);


// Function to filter employees based on job title and years of experience using array_keys
function filterEmployees($employeeData, $desiredJobTitle, $minExperience) {
    $filteredEmployeeKeys = array_keys(array_filter($employeeData, function ($employee) use ($desiredJobTitle, $minExperience) {
        return $employee["job_title"] === $desiredJobTitle && $employee["years_of_experience"] >= $minExperience;
    }));

    return $filteredEmployeeKeys;
}

// Example usage
$desiredJobTitle = "Manager";
$minExperience = 4;
$filteredEmployeeKeys = filterEmployees($employeeDetails, $desiredJobTitle, $minExperience);

if (!empty($filteredEmployeeKeys)) {
    echo "Employees with the job title '$desiredJobTitle' and at least $minExperience years of experience:<br>";
    foreach ($filteredEmployeeKeys as $employeeKey) {
        $employee = $employeeDetails[$employeeKey];
        echo "Employee Name: " . $employeeKey . "<br>";
        echo "Job Title: " . $employee["job_title"] . "<br>";
        echo "Years of Experience: " . $employee["years_of_experience"] . "<br><br>";
    }
} else {
    echo "No employees found matching the criteria.";
}
?>

এই উদাহরণে, array_keys ব্যবহার করা হয় এমন এমপ্লয়িদের key গুলো রিট্রিভ করতে যারা নির্দিষ্ট ফিল্টারিং মানদণ্ড পূরণ করে, যার মধ্যে কাঙ্ক্ষিত job title এবং ন্যূনতম বছরের অভিজ্ঞতা রয়েছে। এটি প্রদর্শন করে যে কীভাবে নির্দিষ্ট শর্তের উপর ভিত্তি করে একটি অ্যারে ফিল্টার করতে array_keys প্রয়োগ করা যেতে পারে, আপনাকে এমপ্লয়ীদের ডেটা সংগ্রহে নির্দিষ্ট মানদণ্ডের সাথে মেলে এমন এমপ্লয়ীদের বের করতে এবং প্রদর্শন করতে দেয়।

৩. Counting:

একটি অ্যারেতে একটি নির্দিষ্ট value সংঘটনের সংখ্যা গণনা করতে, আপনি array_keys ব্যবহার করে সেই value এর সাথে মিলে যাওয়া কী গুলির অ্যারে পেতে পারেন এবং তারপর সেই অ্যারের উপর গণনা ব্যবহার করতে পারেন।

উদাহরণ ১:

আসুন একটি ব্যবহারিক উদাহরণ বিবেচনা করি যেখানে আপনার কাছে একটি ওয়েব অ্যাপ্লিকেশন রয়েছে যা পছন্দের রঙ গুলির জন্য ইউজারের পছন্দগুলি ট্র্যাক করে৷ আপনি প্রতিটি রঙ নির্বাচন করেছেন এমন ইউজারদের সংখ্যা গণনা করতে চান। আপনি প্রতিটি রঙের ঘটনা গণনা করতে array_keys ব্যবহার করতে পারেন।

// Sample user preferences for favorite colors
$userPreferences = [
    ["user_name" => "Alice", "favorite_color" => "Blue"],
    ["user_name" => "Bob", "favorite_color" => "Green"],
    ["user_name" => "Charlie", "favorite_color" => "Red"],
    ["user_name" => "David", "favorite_color" => "Blue"],
    ["user_name" => "Eve", "favorite_color" => "Green"],
    ["user_name" => "Frank", "favorite_color" => "Blue"],
    ["user_name" => "Grace", "favorite_color" => "Red"]
];

$userPreferencesFormatted = array();

foreach ($userPreferences as $user) {
    $userPreferencesFormatted[$user['user_name']] = $user['favorite_color'];
}

// Function to count the number of users who prefer each color and get user names
function countColorPreferences($preferences, $color) {
    $colorUsers = array_filter($preferences, function ($c) use ($color) {
        return $c === $color;
    });
    $count = count($colorUsers);
    $userNames = array_keys($colorUsers);
    return [$count, $userNames];
}

// Example usage
$colors = ["Blue", "Green", "Red"];

echo "Count of users who prefer each color and their names:<br>";
foreach ($colors as $color) {
    list($colorCount, $userNames) = countColorPreferences($userPreferencesFormatted, $color);
    echo "Color: " . $color . " - Users: " . $colorCount . " (" . implode(', ', $userNames) . ")<br>";
}

এই উদাহরণে, countColorPreferences ফাংশন array_keys ব্যবহার করে মোট ইউজারের সংখ্যা গণনা করে, যারা তাদের ইউজারের পছন্দে প্রতিটি রঙ পছন্দ করে। এটি একটি associative array ($colorCounts) তৈরি করে যেখানে কীগুলি রঙের রিপ্রেজেন্ট করে এবং value গুলি প্রতিটি রঙ পছন্দ করে এমন ইউজারের সংখ্যাকে প্রতিনিধিত্ব করে। উদাহরণটি দেখায় কিভাবে আপনি একটি অ্যারেতে নির্দিষ্ট মানের ঘটনাগুলি গণনা করতে array_keys ব্যবহার করতে পারেন, আপনাকে একটি ওয়েব অ্যাপ্লিকেশনে পছন্দের রঙের জন্য ইউজারের পছন্দগুলি ট্র্যাক করতে দেয়৷

উদাহরণ ২:

আসুন আরো একটি বাস্তব দৃশ্য বিবেচনা করি যেখানে আপনার একটি content management system রয়েছে এবং আপনি বিভিন্ন ক্যাটাগরিতে আর্টিকেলের সংখ্যা গণনা করতে চান। আপনি প্রতিটি ক্যাটাগরির আর্টিকেল সংখ্যা গণনা করতে array_keys ফাঙ্কশন ব্যবহার করতে পারেন।

<?php
// Sample data for articles in a content management system
$articles = array(
    array("title" => "Article 1", "category" => "Technology"),
    array("title" => "Article 2", "category" => "Science"),
    array("title" => "Article 3", "category" => "Technology"),
    array("title" => "Article 4", "category" => "Business"),
    array("title" => "Article 5", "category" => "Science"),
    array("title" => "Article 6", "category" => "Business"),
    array("title" => "Article 7", "category" => "Technology"),
);

// Function to count the number of articles in each category using array_keys
function countArticlesInCategories($articleData) {
    $categories = array_unique(array_column($articleData, 'category'));
    $categoryCounts = array();

    foreach ($categories as $category) {
        $categoryCounts[$category] = count(array_keys(array_column($articleData, 'category'), $category));
    }

    return $categoryCounts;
}

// Example usage
$categoryCounts = countArticlesInCategories($articles);

echo "Number of articles in each category:<br>";
foreach ($categoryCounts as $category => $count) {
    echo "Category: " . $category . " - Articles: " . $count . "<br>";
}
?>

এই উদাহরণে, countArticlesInCategories ফাংশন প্রতিটি ক্যাটাগরিতে আর্টিকেল সংখ্যা গণনা করতে array_column-এর সাথে array_keys ব্যবহার করে। এটি প্রথমে ইউনিক ক্যাটাগরি গুলি বের করে এবং তারপরে আর্টিকেল ডেটাসেটে প্রতিটি ক্যাটাগরির occurrence গুলি গণনা করতে array_keys ব্যবহার করে। এই উদাহরণটি দেখায় কিভাবে আপনি একটি অ্যারেতে নির্দিষ্ট মানগুলির উপস্থিতি গণনা করতে ব্যবহারিকভাবে array_keys ব্যবহার করতে পারেন, আপনাকে একটি content management system এ বিভিন্ন ক্যাটাগরিতে আর্টিকেল সংখ্যা ট্র্যাক করতে সক্ষম করে।

৪. Validation and Existence Checks:

যখন আপনি একটি অ্যারেতে একটি নির্দিষ্ট key বিদ্যমান কিনা তা পরীক্ষা করতে হবে, আপনি সমস্ত key রিট্রিভ করতে array_keys ব্যবহার করতে পারেন এবং তারপর একটি নির্দিষ্ট key উপস্থিতি পরীক্ষা করতে পারেন।

উদাহরণ ১:

আসুন একটি বাস্তব দৃশ্যকল্প কল্পনা করি যেখানে আপনি একটি ওয়েবসাইটের জন্য একটি user registration system তৈরি করতে চাচ্ছেন৷ যখন ইউজাররা সাইন আপ করবে , এবং তারা যে তথ্য প্রদান করবে , এবং আপনি array_keys ব্যবহার করে ইউজারের ডেটাতে কিছু required fields বিদ্যমান আছে কিনা তা যাচাই করতে চান। registration process চলাকালীন গুরুত্বপূর্ণ তথ্য প্রদান করা হয়েছে তা নিশ্চিত করার জন্য এটি কার্যকর।

<?php
// Sample user registration data
$userData = array(
    "username" => "user123",
    "email" => "user123@example.com",
    "password" => "secure_password",
    "age" => 25,
    "country" => "United States",
);

// Function to validate and check for required fields using array_keys
function validateUserRegistration($userData) {
    $requiredFields = array("username", "email", "password", "age", "country");
    $missingFields = array_diff($requiredFields, array_keys($userData));

    if (empty($missingFields)) {
        return "User registration is valid.";
    } else {
        $missingFieldNames = implode(', ', $missingFields);
        return "User registration is missing the following required fields: $missingFieldNames.";
    }
}

// Example usage
$validationResult = validateUserRegistration($userData);

echo $validationResult;
?>

এই উদাহরণে, validateUserRegistration ফাংশন ইউজারের ডেটা থেকে কী (field names) রিট্রিভ করতে array_keys ব্যবহার করা হয় এবং সমস্ত required field গুলো বিদ্যমান আছে কিনা তা পরীক্ষা করে। তারপরে এটি একটি validation result প্রদান করে যা নির্দেশ করে যে user registration data সম্পূর্ণ এবং বৈধ কিনা বা কোনো required fields অনুপস্থিত কিনা। এটি প্রদর্শন করে যে আপনি কীভাবে প্রাকটিক্যাল কনটেক্সটে validation এবং existence পরীক্ষা করার জন্য array_keys ব্যবহার করতে পারেন, এটি নিশ্চিত করে যে user registration form গুলিতে প্রয়োজনীয় ডেটা উপস্থিত রয়েছে।

উদাহরণ ২:

আসুন আরো একটি বাস্তব দৃশ্য বিবেচনা করি যেখানে আপনার একটি ই-কমার্স ওয়েবসাইট আছে এবং আপনাকে array_keys ব্যবহার করে একটি প্রোডাক্ট লিস্টের নির্দিষ্ট product attributes এর অস্তিত্ব validate ও check করতে হবে। এটি নিশ্চিত করে যে সমস্ত প্রোডাক্টের প্রদর্শন এবং ইউজারের ইন্টারঅ্যাকশনের জন্য প্রয়োজনীয় attribute গুলো রয়েছে।

<?php
// Sample product listing data
$productListings = array(
    array("id" => 101, "name" => "Product A", "price" => 50.0, "category" => "Electronics"),
    array("id" => 102, "name" => "Product B", "price" => 30.0),
    array("id" => 103, "name" => "Product C", "category" => "Fashion"),
    array("id" => 104, "name" => "Product D", "price" => 25.0, "category" => "Books"),
    array("id" => 105, "name" => "Product E", "price" => 10.0, "category" => "Toys"),
);

// Function to validate and check for required product attributes using array_keys
function validateProductAttributes($productData) {
    $requiredAttributes = array("id", "name", "price", "category");
    $missingProducts = array();

    foreach ($productData as $index => $product) {
        $missingAttributes = array_diff($requiredAttributes, array_keys($product));
        if (!empty($missingAttributes)) {
            $missingProducts[] = array("index" => $index, "missingAttributes" => $missingAttributes);
        }
    }

    return $missingProducts;
}

// Example usage
$missingProducts = validateProductAttributes($productListings);

if (empty($missingProducts)) {
    echo "All product listings have the required attributes.";
} else {
    echo "Some product listings are missing the required attributes:<br>";
    foreach ($missingProducts as $product) {
        $missingAttributes = implode(', ', $product['missingAttributes']);
        echo "Product at index " . $product['index'] . " is missing: $missingAttributes<br>";
    }
}
?>

এই উদাহরণে, validateProductAttributes ফাংশন array_keys ব্যবহার করে প্রতিটি প্রোডাক্ট তালিকায় প্রয়োজনীয় attribute গুলো আছে কিনা তা পরীক্ষা করে। এটি প্রয়োজনীয় attribute গুলি অনুপস্থিত প্রোডাক্ট গুলি সনাক্ত করে এবং কোন attribute গুলি অনুপস্থিত সে সম্পর্কে তথ্য প্রদান করে৷ এটি প্রদর্শন করে যে আপনি কীভাবে একটি ই-কমার্স ওয়েবসাইটে একটি সামঞ্জস্যপূর্ণ এবং সম্পূর্ণ প্রদর্শনের জন্য প্রোডাক্ট তালিকাগুলির প্রয়োজনীয় attribute গুলি রয়েছে তা নিশ্চিত করার প্রেক্ষাপটে validation এবং অস্তিত্ব পরীক্ষা করার জন্য array_keys ব্যবহার করতে পারেন৷

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম 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