У меня есть следующий массив:

  $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;

Я пытаюсь вернуть ключи третьего индекса, где совпадают первые два. например для 'стандарт' и 48 нужен массив (2,3)

Но для 'стандартного' и 72 я бы вернул array (3)

Также мне интересно, следует ли мне хранить эти данные в xml или чем-то подобном?

0
dardub 27 Авг 2011 в 01:03

2 ответа

Лучший ответ

Попробуй это:

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

Это просто возвращает ключи массива $data['standard'][48]: 2 и 3.

2
Arnaud Le Blanc 26 Авг 2011 в 21:06

Вы можете использовать что-то вроде этого:

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

Можно использовать массив для хранения данных, если вам легче с этим справиться.

0
aorcsik 26 Авг 2011 в 21:07