How to search by a property in array of objects in php?

后端 未结 3 960
闹比i
闹比i 2021-01-28 13:06

i have an array something like given below is it possible to find the key index of the array if i provide a slab id value in php?

Array
       (
           [0         


        
相关标签:
3条回答
  • 2021-01-28 13:19

    Something like that :

    function getIndex($array, $slabId) {
        foreach($array as $index => $item) {
            if($item->slabId == $slabId)
                return $index;
        }
    }
    
    0 讨论(0)
  • 2021-01-28 13:27

    I will suggest, change your Data Structure

    • use slabId as Array_Index
    • Eg.

      Array

      (

         [0] => NULL
      
         [1] => incentiveSlab Object
             (
                 [slabId] => 1
                 [templateId] => 1
                 [startPoint] => 0
                 [endPoint] => 1000000
                 [value] => 0
             )
      
         [2] => incentiveSlab Object
             (
                 [slabId] => 2
                 [templateId] => 1
                 [startPoint] => 1000000
                 [endPoint] => 2500000
                 [value] => 0.5
             )
      

      )

    Or if you have too much variance in slabId use Associative Array

    0 讨论(0)
  • 2021-01-28 13:29

    The solution should return the index if it is found like the above answers. However, it should returns something else if there is no match, like other standard functions such as substr which returns false if there is no match. so Max answer may be modified, slightly, to be:

    function getIndex($array, $slabId) {
        foreach($array as $index => $item) {
            if($item->slabId == $slabId)
                return $index;
        }
        return false; // or return -1
    }
    
    0 讨论(0)
提交回复
热议问题