在多维数组中查找匹配



我有以下数组:

  $data['standard'][36][2] = 52.5;
  $data['standard'][42][2] = 57.5;
  $data['standard'][48][2] = 62.5;
  $data['standard'][54][2] = 67.5;
  $data['standard'][60][2] = 72.5;
  $data['standard'][36][3] = 60.5;
  $data['standard'][42][3] = 65.5;
  $data['standard'][48][3] = 70.5;
  $data['standard'][54][3] = 75.5;
  $data['standard'][60][3] = 80.5;
  $data['standard'][72][3] = 90.5;

我试图返回前两个匹配的第三个索引的键。例如,对于'standard'和48需要一个数组(2,3)

但是对于'standard'和72,我会返回array(3)

我也想知道我是否应该将这些数据存储在xml或类似的东西?

试试这个:

$result = array_keys($data['standard'][48];

这只返回$data['standard'][48]数组的键:2和3。

你可以这样写:

function findInArray(&$data,$param1,$param2)
{
    return isset($data[$param1][$param2]) ? array_keys($data[$param1][$param2]) : array();
}

的例子:

$keys = findInArray($data,"standard",48); // array(2,3);
$keys = findInArray($data,"standard",72); // array(3);

使用数组来存储数据是可以的,如果这对您来说更容易处理。

相关内容

  • 没有找到相关文章

最新更新