0

I have one array which is like:

Array
(
    [0] => Array
        (
            [date] => 2015-11-01
            [price] => 95
        )

    [1] => Array
        (
            [date] => 2015-11-08
            [price] => 95
        )

    [2] => Array
        (
            [date] => 2015-11-15
            [price] => 95
        )

    [3] => Array
        (
            [date] => 2015-11-03
            [price] => 90
        )

    [4] => Array
        (
            [date] => 2015-11-04
            [price] => 90
        )

    [5] => Array
        (
            [date] => 2015-11-05
            [price] => 90
        )

    [6] => Array
        (
            [date] => 2015-11-06
            [price] => 90
        )

    [7] => Array
        (
            [date] => 2015-11-07
            [price] => 90
        )

    [8] => Array
        (
            [date] => 2015-11-08
            [price] => 90
        )

    [9] => Array
        (
            [date] => 2015-11-09
            [price] => 90
        )

    [10] => Array
        (
            [date] => 2015-11-10
            [price] => 90
        )

    [11] => Array
        (
            [date] => 2015-11-11
            [price] => 90
        )

    [12] => Array
        (
            [date] => 2015-11-12
            [price] => 90
        )

    [13] => Array
        (
            [date] => 2015-11-13
            [price] => 90
        )

    [14] => Array
        (
            [date] => 2015-11-14
            [price] => 90
        )

    [15] => Array
        (
            [date] => 2015-11-15
            [price] => 90
        )
)

I want that the only the lowest price value of the duplicated date field to appear. It needs to be like this.

Array(

    [0] => Array
        (
            [date] => 2015-11-01
            [price] => 95
        )

    [1] => Array
        (
            [date] => 2015-11-03
            [price] => 90
        )

    [2] => Array
        (
            [date] => 2015-11-04
            [price] => 90
        )

    [3] => Array
        (
            [date] => 2015-11-05
            [price] => 90
        )

    [4] => Array
        (
            [date] => 2015-11-06
            [price] => 90
        )

    [5] => Array
        (
            [date] => 2015-11-07
            [price] => 90
        )

    [6] => Array
        (
            [date] => 2015-11-08
            [price] => 90
        )

    [7] => Array
        (
            [date] => 2015-11-09
            [price] => 90
        )

    [8] => Array
        (
            [date] => 2015-11-10
            [price] => 90
        )

    [9] => Array
        (
            [date] => 2015-11-11
            [price] => 90
        )

    [10] => Array
        (
            [date] => 2015-11-12
            [price] => 90
        )

    [11] => Array
        (
            [date] => 2015-11-13
            [price] => 90
        )

    [12] => Array
        (
            [date] => 2015-11-14
            [price] => 90
        )

    [13] => Array
        (
            [date] => 2015-11-15
            [price] => 90
        )
)

Any Help please?

1
  • To be honest I have no clue how to make it work.. Any help would be greatly appreciated. Commented Nov 3, 2015 at 8:55

1 Answer 1

2

In case somebody having the same issue. Here is the code I finally made..

for ($row = 0; $row < $p; $row++) {
    $id = $arr[$row]['id'];
    $date1 = $arr[$row]['date'];
    $price1 = $arr[$row]['price'];

    for ($row2 = 0; $row2 < $p; $row2++) {
        $id2 = $arr[$row2]['id'];

        if($id != $id2)
        {
            $date2 = $arr[$row2]['date'];
            $price2 = $arr[$row2]['price'];
            if($date1 == $date2)
            {
                if($price1 > $price2)
                {

                    unset($arr[$row]);
                }
            }
        }

    } }

$arr = array_values($arr);

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.