How to search in multi dimensional array

Sagar Singh

i have multi dimension arrays in which i want to look for some particular words this is how my array looks like

Array
(
    [0] => Array
        (
            [sch_name] => Montfort School Roorkee
            [sch_degree] => High School
            [sch_field] => Commerce
            [sch_grade] => A+
            [sch_from_year] => 2007
            [sch_to_year] => 2015
            [sch_desc] => Montfort School was very nice
        )

    [1] => Array
        (
            [sch_name] => City Public
            [sch_degree] => 12
            [sch_field] => Commerce
            [sch_grade] => 12
            [sch_from_year] => 2007
            [sch_to_year] => 2015
            [sch_desc] => Great School
        )

)

Now suppose i want to find 'montfort' word in this multi dimensional array

So i tried using this function

function searchForWord($id, $array) {
   foreach ($array as $key => $val) {
       if ($val['sch_name'] === $id) {
           return $key;
       }
   }
   return null;
}
echo $id = searchForWord('montfort', $p);

it resulted in nothing but when i wrote 'Montfort School Roorkee' result was found, why these word are so sensitive is there any other way to get values

can't i use something like we do in mysql query Like %keyword

David D

Try this:

$cols = array_column($your_array,'sch_name');
$keys = [];
foreach ($cols as $k=>$v) {
    if (strpos(strtolower($cols[$k]),strtolower('Mont'))!==false) {
        $keys[]=$k;               
    }
}
print_r($keys);

replace $your_array with your array.

it's case insensitive and will match anything partial. You could make it a function like so:

function SearchArrayForKeys($array,$column_name,$search) {
    if (!$array||!is_array($array)) {
        return [];
    }
    $cols = array_column($array,$column_name);
    if (!$cols){
        return [];
    }
    $keys = [];
    foreach ($cols as $k=>$v) {
        if (strpos(strtolower($cols[$k]),strtolower($search))!==false) {
            $keys[]=$k;               
        }
    }        
    return $keys;
}

usage:

$keys = SearchArrayForKeys($your_array,'sch_name','Mont');

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to search in multi dimensional array

From Dev

PHP Search Multi Dimensional Array

From Dev

How To Perform array_search In Multi Dimensional Array?

From Dev

How to search a multi-dimensional array by multiple values at once in PHP?

From Dev

Search key by value in multi dimensional array

From Dev

PHP Multi Dimensional Array Search returning Keys

From Dev

How to parse this multi dimensional array

From Dev

PHP Multi-Dimensional array search (with array_search)

From Dev

How to declare a multi-multi- dimensional array

From Dev

How to declare a multi-multi- dimensional array

From Dev

How to return array as multi dimensional array?

From Dev

AJAX: How to get array on multi dimensional array

From Dev

how to multiply array in multi dimensional array in php

From Dev

How to convert a deep multi dimensional array to a single dimensional array - Javascript

From Dev

How to convert a deep multi dimensional array to a single dimensional array - Javascript

From Dev

How to convert multi dimensional array to single dimensional array in php ?

From Dev

array_search not working in multi dimensional array as expected

From Dev

PHP multi dimensional array search and get array of the key

From Dev

array_search not working in multi dimensional array as expected

From Dev

How to set multi-dimensional array in Twig?

From Java

How to Sort Multi-dimensional Array by Value?

From Dev

How to call new on a multi-dimensional array

From Dev

How to create javascript multi dimensional array?

From Dev

How to push data in multi dimensional array format

From Dev

How does multi dimensional array in C work

From Dev

How to shorten a multi dimensional array in php

From Dev

How to grab a value from multi dimensional array

From Dev

How to create multi-dimensional associative array

From Dev

How to print specific multi dimensional array java

Related Related

  1. 1

    How to search in multi dimensional array

  2. 2

    PHP Search Multi Dimensional Array

  3. 3

    How To Perform array_search In Multi Dimensional Array?

  4. 4

    How to search a multi-dimensional array by multiple values at once in PHP?

  5. 5

    Search key by value in multi dimensional array

  6. 6

    PHP Multi Dimensional Array Search returning Keys

  7. 7

    How to parse this multi dimensional array

  8. 8

    PHP Multi-Dimensional array search (with array_search)

  9. 9

    How to declare a multi-multi- dimensional array

  10. 10

    How to declare a multi-multi- dimensional array

  11. 11

    How to return array as multi dimensional array?

  12. 12

    AJAX: How to get array on multi dimensional array

  13. 13

    how to multiply array in multi dimensional array in php

  14. 14

    How to convert a deep multi dimensional array to a single dimensional array - Javascript

  15. 15

    How to convert a deep multi dimensional array to a single dimensional array - Javascript

  16. 16

    How to convert multi dimensional array to single dimensional array in php ?

  17. 17

    array_search not working in multi dimensional array as expected

  18. 18

    PHP multi dimensional array search and get array of the key

  19. 19

    array_search not working in multi dimensional array as expected

  20. 20

    How to set multi-dimensional array in Twig?

  21. 21

    How to Sort Multi-dimensional Array by Value?

  22. 22

    How to call new on a multi-dimensional array

  23. 23

    How to create javascript multi dimensional array?

  24. 24

    How to push data in multi dimensional array format

  25. 25

    How does multi dimensional array in C work

  26. 26

    How to shorten a multi dimensional array in php

  27. 27

    How to grab a value from multi dimensional array

  28. 28

    How to create multi-dimensional associative array

  29. 29

    How to print specific multi dimensional array java

HotTag

Archive