2015-05-19 4 views
2

Как я могу получить сумму двух массивов с одним и тем же ключом? если я прав. Моя цель здесь состоит в том, чтобы получить общее количество часов от двух массивов, и как я могу заставить этот преследуемый массив перейти к следующему значению массива, если он.Как получить сумму двух массивов с одинаковым ключом в foreach

У меня есть этот Еогеасп цикл:

<?php foreach($unique_date as $unique_dates){ 

}?> 

Aaaand ниже Еогеасп есть этот код (потому что я хочу видеть массивы):

<?php $arrayName = array(
        'unique' => $unique_date 
        ); 
var_dump($arrayName); 
?> 

результат был таков:

array (size=1) 
    'unique' => 
    array (size=2) 
     0 => 
     array (size=9) 
      'id' => string '1' (length=1) 
      'emp_id' => string '600064' (length=6) 
      'dtr_date' => string '2015-05-01' (length=10) 
      'dtr_time' => string '276200' (length=6) 
      'timediffs' => string '09:18:00' (length=8) 
      'status' => string 'in' (length=2) 
      'emp_fname' => string 'Jim' (length=3) 
      'emp_mname' => string 'Ramos' (length=5) 
      'emp_lname' => string 'Salem' (length=5) 
     1 => 
     array (size=9) 
      'id' => string '3' (length=1) 
      'emp_id' => string '600064' (length=6) 
      'dtr_date' => string '2015-05-04' (length=10) 
      'dtr_time' => string '256000' (length=6) 
      'timediffs' => string '11:00:00' (length=8) 
      'status' => string 'In' (length=2) 
      'emp_fname' => string 'Jim' (length=3) 
      'emp_mname' => string 'Ramos' (length=5) 
      'emp_lname' => string 'Salem' (length=5) 

что я хочу, было примерно так: например: $ time1 = $ unique_dates ['timediffs'] (которые предполагают иметь значение '09: 18: 00 ') и $ time2 = $ unique_dates [' timediffs '] (которые также предполагают иметь значение '11 : 00: 00 ')

Я хочу добавить две переменные $ result = $ time1 + $ time2;

, но я не знаю, как из-за того, что я всегда получаю было значение $ time1

ответ

1

Здесь вы идете (не проверено)

$one=$whateveryoucallit['unique'][0]; 
$two=$whateveryoucallit['unique'][1]; 

Это поможет вам каждый массив в одной переменной, так что вы можно сделать:

$time1 = $one['dtr_date']." ".$one['timediffs']; 
$time2 = $two['dtr_date']." ".$two['timediffs']; 
$result = strtotime($time1) + strtotime($time2); 

, то вы можете

echo date('y-m-d', $result); 
+0

жаль, что это не сработало, но вот я попробовал это echo $ unique_dates ['timediffs'], я получил оба «09:18:00 11:00:00». как суммировать эти часы и минуты? – aintno12u

+0

Вам нужно использовать strtotime, прочитать руководство о «php strtotime» ... оно преобразует строку даты «English» в метку времени unix. После этого вы используете функцию «date()» для ее преобразования. – Jobst

+0

в порядке, но после этого, как я могу добавить 09:18:00 и 11:00:00, если они пришли из разных массивов? – aintno12u

Смежные вопросы