PHP数组仅搜索匹配的字段

时间:2018-03-02 00:21:02

标签: php arrays

我有以下数组,我只需要一种方法来只选择mnth值相同的数组。例如,所有数组,其中mnth值=> 7。

  Array
(
    [0] => Array
        (
            [desc] => rates
            [mnth] => 7
            [cost] => 8978
        )

    [1] => Array
        (
            [desc] => insurance
            [mnth] => 8
            [cost] => 7680
        )


    [2] => Array
        (
            [desc] => water
            [mnth] => 7
            [cost] => 7800
        )

)

1 个答案:

答案 0 :(得分:2)

如果需要根据第m个字段将大型数组拆分为单独的数组,则可以在一次传递中执行此操作。创建一个空的数组数组,遍历您拥有的数组,并使用第m个值作为键将它们存储在新的数组数组中。然后,对于新数组中的每个键,您将拥有一个具有相同mnth值的数组数组。

如果您只需要根据mnth上的值进行过滤您可以使用array_filter但如果您需要拆分数组,则无法执行此操作。

$myFilteredArray = array_filter( $myArray, function( $arr ) {
   return $arr['mnth'] == 7; 
});