PHP Search Multidimensional Array [key and value and return key]

PHP Search Multidimensional Array [key and value and return key]

php search multidimensional array by key and value. Here we will learn how to search in the multidimensional array for value and return key. also learn how to search multidimensional array for key and return value.

Sometimes we need to search in an array or multidimensional array by key or value without using any function. This tutorial shows you, the fastest way to search in a multidimensional array.

In this article, we would love to show you, how you can create your own function for searching Multidimensional Array. Here we will take two examples for searching in the multidimensional array using a custom created function.

PHP Search Multidimensional Array

You have one array look like this:

    $array = array(
        array(
            'id' => '100',
            'name' => 'Rock',
        ),
        array(
            'id' => '105',
            'name' => 'Test',
        ),
        array(
            'id' => '109',
            'name' => 'Michael',
        ),
        array(
            'id' => '111',
            'name' => 'Mack',
        )
    );

PHP search multidimensional array for value and return key

If you want to search in multidimensional-array by value and return key. So you can use this below example for that:

<?php

    $array = array(
        array(
            'id' => '100',
            'name' => 'Rock',
        ),
        array(
            'id' => '105',
            'name' => 'Test',
        ),
        array(
            'id' => '109',
            'name' => 'Michael',
        ),
        array(
            'id' => '111',
            'name' => 'Mack',
        )
    );

    function searchByValue($id, $array) {
       foreach ($array as $key => $val) {
           if ($val['id'] === $id) {
             $resultSet['name'] = $val['name'];
             $resultSet['key'] = $key;
             $resultSet['id'] = $val['id'];
             return $resultSet;
           }
       }
       return null;
    }


  $searchValue = searchByValue('105', $array);
  print_r($searchValue);die;

 ?>
    

PHP search multidimensional array for key and return value

If you want to search in a multidimensional array by key and return value. So you can use the below example for that:

<?php

    $array = array(
        array(
            'id' => '100',
            'name' => 'Rock',
        ),
        array(
            'id' => '105',
            'name' => 'Test',
        ),
        array(
            'id' => '109',
            'name' => 'Michael',
        ),
        array(
            'id' => '111',
            'name' => 'Mack',
        )
    );

    function searchByKey($keyVal, $array) {
       foreach ($array as $key => $val) {
           if ($keyVal == $key) {
             $resultSet['name'] = $val['name'];
             $resultSet['key'] = $key;
             $resultSet['id'] = $val['id'];
             return $resultSet;
           }
       }
       return null;
    }

  $searchByKey = searchByKey('2', $array);
  print_r($searchByKey);die;

 ?>
    

Note:

It is important to know that if you are using === operator compared types have to be exactly same, in this example you have to search string or just use == instead ===.

Conclusion

fastest way to search a multidimensional array. In this tutorial, you have learned how to search in a multidimensional array by key and value.

Leave a Reply

Your email address will not be published. Required fields are marked *