2017-05-08 106 views
0

我有一个像下面给出的数组 是否有可能找到数组的键索引,如果我在PHP中提供一个slab id值?如何通过php中的对象数组中的属性进行搜索?

Array 
     (
      [0] => incentiveSlab Object 
       (
        [slabId] => 1 
        [templateId] => 1 
        [startPoint] => 0 
        [endPoint] => 1000000 
        [value] => 0 
       ) 

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


     ) 

回答

0

我会建议,改变你的数据结构

  • 使用slabId作为Array_Index
  • EG。

    阵列

    [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 
         ) 
    

或者,如果你有slabId太多的变化使用关联数组

3

类似的东西:

function getIndex($array, $slabId) { 
    foreach($array as $index => $item) { 
     if($item->slabId == $slabId) 
      return $index; 
    } 
} 
+0

我一直在寻找建功能 –

0

,一旦发现类似上述答案的解决方案应该返回指数。但是,如果没有匹配,它应该返回其他内容,如其他标准函数,如substr,如果不匹配则返回false。所以Max答案可能被修改,咯,是:

function getIndex($array, $slabId) { 
    foreach($array as $index => $item) { 
     if($item->slabId == $slabId) 
      return $index; 
    } 
    return false; // or return -1 
} 
相关问题