1. 首页 > 科技

php 二维数组筛选问题? 二维数组地址计算问题

php 二维数组筛选问题?二维数组地址计算问题

php,请问对已知二维数组,根据某个字段添加条件筛选怎么做?

第一个方法:新建一个空的数组,再循环该数组,如果distance<10000,就压入新建的数组中。

第二个方法:使用array_filter()方法,

<?php 

    $array = array(

        array('id' => 1, 'distance' => 131),

        array('id' => 2, 'distance' => 13100),

        array('id' => 3, 'distance' => 13231),

        ); 

    function filterDistance($arr)  

    {  

        return($arr['distance'] < 10000);  

    }     

    $array = array_filter($array, "filterDistance");

    var_dump($array);

?>

请教如何在PHP多维数组中筛选出自己想要的数值并输出

$ar = Array(

Array (

'log_data' => 4,

'log_result' => 0,

'log_time' => '2013-05-08 10:08:40'

),

Array (

'log_data' => 10018,

'log_result' => 2,

'log_time' => '2013-05-08 10:13:58',

),

Array (

'log_data' => 10018,

'log_result' => 2,

'log_time' => '2013-05-08 10:14:02',

),

Array (

'log_data' => 10003,

'log_result' => 50,

'log_time' => '2013-05-08 10:18:29',

),

);

foreach($ar as $item) {

@$res[$item['log_data']][strtok($item['log_time'], ' ')] += $item['log_result'];

}

print_r($res);

php两个二维数组匹配问题

用array_intersect_assoc()函数试试,这个函数的作用是返回两个数组中键和值都相同的元素的交集。

php 一个多维数组根据一维数组筛选数据,得到新数组

// 定义数组 1

$arr1 = array(

    'BL001' => array(

        '0' => 'A14257',

        '1' => 'B17548'

    ),

    'CDF002' => array(

        '0' => 'A14257',

        '1' => 'C48751'

    ),

    'FGE453' => array(

        '0' => 'DF5533',

        '1' => 'GR6445',

        '2' => 'GH5544'

    ),

    'GEN001' => array(

        '0' => 'NT7532',

        '1' => 'DE9342',

        '2' => 'C48751'

    )

);

// 定义数组 2

$arr2 = array(

    'A14257',

    'E453T4',

    'Y64344',

    'FG4809',

    'C48751',

    'H4443R'

);

// 定义结果数组 $result

$result = array();

foreach ( $arr1 as $k => $v ) // 遍历数组 1

    foreach ( $v as $s ) // 遍历数组 1 第 2 维

        if ( in_array( $s, $arr2 ) ) { // 包含数据 2 的任意值

            if ( ! isset( $result[$k] ) || ! is_array( $result[$k] ) )

                $result[$k] = array();

            $result[$k][] = $s; // 添加到结果数组

        }

// 输出测试结果

print_r( $result );

/*

Array

(

    [BL001] => Array

        (

            [0] => A14257

        )

    [CDF002] => Array

        (

            [0] => A14257

            [1] => C48751

        )

    [GEN001] => Array

        (

            [0] => C48751

        )

)

*/