Deleting specific array members

I have a multidimensional array…it goes like this:

array(112) {
  [0]=>
  array(4) {
["title"]=>
string(8) "11:00:00"
["day"]=>
string(6) "friday"
["date"]=>
string(10) "2015-12-04"
["time"]=>
string(8) "11:00:00"
      }
      [1]=>
array(4) {
["title"]=>
string(8) "11:30:00"
["day"]=>
string(6) "friday"
["date"]=>
string(10) "2015-12-04"
["time"]=>
string(8) "11:30:00"
}
[2]=>
array(4) {
["title"]=>
string(8) "12:00:00"
["day"]=>
string(6) "friday"
["date"]=>
string(10) "2015-12-04"
["time"]=>
string(8) "12:00:00"
}

[3]=>
  array(4) {
["title"]=>
string(8) "12:30:00"
["day"]=>
string(6) "friday"
["date"]=>
string(10) "2015-12-04"
["time"]=>
string(8) "12:30:00"
  }
  [4]=>
  array(4) {
["title"]=>
string(8) "09:00:00"
["day"]=>
string(6) "monday"
["date"]=>
string(10) "2015-12-07"
["time"]=>
string(8) "09:00:00"
  }


it lists the weekdays covering an entire month…every day corresponding to a date and for title I have times(I know this is misleading but I cannot explain now the story behind it)

The goal:
For each weekday I want to delete the last array member

Let me explain:
In the example above Friday is mentioned for times 11:00…11:30…12:00…12:30…I just want to delete the array member for 12:30…leaving times 11:00…11:30…12:00.

It has to be a loop…but apart from that I do not know how to proceed…

I’ve made some assumptions about your data so the example below may not work.

$month = [
    [
        "title" => "11:00:00",
        "day" => "friday",
        "date" => "2015-12-04",
        "time" => "11:00:00"
    ],
    [
        "title" => "11:30:00",
        "day" => "friday",
        "date" => "2015-12-04",
        "time" => "11:30:00"
    ],
    [
        "title" => "12:00:00",
        "day" => "friday",
        "date" => "2015-12-04",
        "time" => "12:00:00"
    ],
    [
        "title" => "12:30:00",
        "day" => "friday",
        "date" => "2015-12-04",
        "time" => "12:30:00"
    ],
    [
        "title" => "10:00:00",
        "day" => "monday",
        "date" => "2015-12-07",
        "time" => "10:00:00"
    ],
    [
        "title" => "09:00:00",
        "day" => "tuesday",
        "date" => "2015-12-08",
        "time" => "09:00:00"
    ],
    [
        "title" => "09:30:00",
        "day" => "tuesday",
        "date" => "2015-12-08",
        "time" => "09:30:00"
    ],
    [
        "title" => "09:00:00",
        "day" => "friday",
        "date" => "2015-12-11",
        "time" => "09:00:00"
    ],
];

$result = array_reduce(
    array_reduce($month, function ($carry, $day) {
        $carry[$day['date']][] = $day;
        return $carry;
    }, [])
    ,
    function($carry, $times) {
        if (count($times) > 1) {
            array_pop($times);
        }
        $carry = array_merge($carry, $times);
        return $carry;
    }
    ,
    []
);

print_r($result);

Array
(
    [0] => Array
        (
            [title] => 11:00:00
            [day] => friday
            [date] => 2015-12-04
            [time] => 11:00:00
        )

    [1] => Array
        (
            [title] => 11:30:00
            [day] => friday
            [date] => 2015-12-04
            [time] => 11:30:00
        )

    [2] => Array
        (
            [title] => 12:00:00
            [day] => friday
            [date] => 2015-12-04
            [time] => 12:00:00
        )

    [3] => Array
        (
            [title] => 10:00:00
            [day] => monday
            [date] => 2015-12-07
            [time] => 10:00:00
        )

    [4] => Array
        (
            [title] => 09:00:00
            [day] => tuesday
            [date] => 2015-12-08
            [time] => 09:00:00
        )

    [5] => Array
        (
            [title] => 09:00:00
            [day] => friday
            [date] => 2015-12-11
            [time] => 09:00:00
        )

)

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.