операции с массивом php - PullRequest
       7

операции с массивом php

0 голосов
/ 03 октября 2011

У меня есть следующий 2D-массив, и я хотел бы сравнить некоторые значения. Сначала я хотел бы получить наибольшее значение из массива и зависит от времени извлечения из предыдущего значения с тем же индексом.

пример: самый высокий (work_something (223)) - предыдущий (work_something (120))

$data = array(
  0 => array(
    'time' => '2011-10-03 18:43:00',
  ),
  1 => array(
    'time' => '2011-10-03 18:44:00',
  ),
  2 => array(
    'time' => '2011-10-03 18:45:00',
    'item_something' => -17,
    'keyword_something' => 0,
    'keyword_something_1' => 0,
    'search_something' => 0,
    'search_links_something' => 0,
    'work_something' => 120,
  ),
  3 => array(
    'time' => '2011-10-03 18:45:00',
    'item_something' => -17,
    'keyword_something' => 0,
    'keyword_something_1' => 0,
    'search_something' => 0,
    'search_links_something' => 0,
    'work_something' => 223,
  ),
);

1 Ответ

0 голосов
/ 03 октября 2011
$array //This is your 2D array

$highest = 0;
foreach($array as $key => $value):
  if(isset($value['work_something'])){
    if($value['work_something'] > $highest){
    $highest = $value['work_something']; //This is highest 'work_something' value
    $highest_array_key = $key; //This is the key of 'work_something' array
    }
  }
endforeach;

//To compare with previews element use 
$array[$highest_array_key - 1] //this is prew element

пример: самый высокий (work_something (223)) - предыдущий (work_something (120))

$highest - $array[$highest_array_key - 1]['work_something'];
...