首页 > 解决方案 > PHP多维数组按条件搜索

问题描述

我正在开发一个金融网络应用程序我真的被这个问题所困扰。

如果条件为真,我需要使用条件搜索并返回数组..

我知道多维数组搜索,但对此我一无所知。例如 :

if array[0][7] > array[0][8] && array[0][12] < array[0][15]

请建议我解决方案

Array ( 
  [0] => Array ( 
    [0] => 54452 
    [1] => 'KSB'
    [2] => 'INE999A01015'
    [3] => 'EQ' 
    [4] => 'Ksb Limited' 
    [5] => -0.70 
    [6] => -0.10 
    [7] => 662.90 
    [8] => 663.60 
    [9] => 669.35 
    [10] => 678.25 
    [11] => 651.55 
    [12] => 7874 
    [13] => 676.91 
    [14] => 690.93 
    [15] => 703.61 
    [16] => 664.23 
    [17] => 650.21 
    [18] => 637.53 
    [19] => 623.51 
    [20] => 2530 
    [21] => 32.13 
    [22] => 825.00 
    [23] => 539.00 
    [24] => 665.89 
    [25] => 631.37 
    [26] => 616.65 
    [27] => 610.14 
    [28] => 615.89 
    [29] => 656.25 
    [30] => 680.74 
    [31] => 60.71 
    [32] => 60.71 
    [33] => 13.62 
    [34] => 29.39 
    [35] => -38.97 
    [36] => 129.47 
    [37] => 2019-09-26 
    [38] => 27632 
  ), 
  [1] => Array ( 
    [0] => 53772 
    [1] => 'ASPINWALL' 
    [2] => 'INE991I01015' 
    [3] => 'EQ' 
    [4] => 'Aspinwall And Company Limited' 
    [5] => -10.50 
    [6] => -7.74 
    [7] => 127.45 
    [8] => 137.95 
    [9] => 135.60 
    [10] => 144.50 
    [11] => 112.60 
    [12] => 9583 
    [13] => 143.76 
    [14] => 160.08
    [15] => 175.66 
    [16] => 128.18 
    [17] => 111.86 
    [18] => 96.28 
    [19] => 79.96 
    [20] => 5108 
    [21] => 53.30 
    [22] => 214.80 
    [23] => 112.60 
    [24] => 135.17 
    [25] => 137.13 
    [26] => 137.46 
    [27] => 136.86 
    [28] => 137.59 
    [29] => 143.00 
    [30] => 153.89 
    [31] => 39.41 
    [32] => 39.41 
    [33] => -0.90 
    [34] => 37.96 
    [35] => -58.05 
    [36] => -361.91 
    [37] => 2019-09-26 
    [38] => 26324 
  ) 
) 

提前致谢

标签: phparraysmultidimensional-array

解决方案


尝试以下代码并根据您的需要进行必要的更改

function search_sg_dma($array, $pre_close, $dma_value, $close_price){

...

    $result = array();
    for( $i = 0; $i < count( $array ); $i++ ) {
        if ( $array[$i][$pre_close] < $array[$i][$dma_value] && $array[$i][$close_price] > $array[$i][$dma_value] ) {
            $result[] = array[$i];
        }
    }
    return $result;
}

推荐阅读