-6

how to remove array that have repeated value of distance?

Array([0] => Array([distance] => 66.68 [lat] => 51.8560591 [long] => -2.2170209 [ordNum] => 1/5938ebf2475fa ))
Array([0] => Array([distance] => 66.68 [lat] => 51.8560591 [long] => -2.2170209 [ordNum] => 1/5938e93c2080e ))
Array([0] => Array([distance] => 123.93 [lat] => 51.8560591 [long] => -2.2170209 [ordNum] => 1/5938ebf2475fa))
Array([0] => Array([distance] => 123.93 [lat] => 51.8560591 [long] => -2.2170209 [ordNum] => 1/5938e93c2080e))
Array([0] => Array([distance] => 128.84 [lat] => 52.6301043 [long] => -2.4940598 [ordNum] => 1/5938e979bdb8b))
Array([0] => Array([distance] => 148.43 [lat] => 52.6301043 [long] => -2.4940598 [ordNum] => 1/5938e979bdb8b))
Ankur Bhadania
  • 4,123
  • 1
  • 23
  • 38
Gayas
  • 1
  • 1

2 Answers2

0

First you have to make multidimensional array instead of diffrent array

**Do as mentioned as below.**
$data = "Array
(
    [0] => Array
        (
            [distance] => 66.68
            [lat] => 51.8560591
            [long] => -2.2170209
            [ordNum] => 1/5938ebf2475fa
        )

    [1] => Array
        (
            [distance] => 66.68
            [lat] => 51.8560591
            [long] => -2.2170209
            [ordNum] => 1/5938e93c2080e
        )

    [2] => Array
        (
            [distance] => 123.93
            [lat] => 51.8560591
            [long] => -2.2170209
            [ordNum] => 1/5938ebf2475fa
        )

    [3] => Array
        (
            [distance] => 123.93
            [lat] => 51.8560591
            [long] => -2.2170209
            [ordNum] => 1/5938e93c2080e
        )

)";
echo '<pre/>';
$data1 = array( array('distance' => '123.93','lat' => '51.8560591','long' => '-2.2170209','ordNum' => '1/5938e93c2080e'),
                array('distance' => '123.93','lat' => '51.8560591','long' => '-2.2170209','ordNum' => '1/5938ebf2475fa'),
                array('distance' => '66.68','lat' => '51.8560591','long' => '-2.2170209','ordNum' => '1/5938e93c2080e'),
                array('distance' => '66.68','lat' => '51.8560591','long' => '-2.2170209','ordNum' => '1/5938ebf2475fa'));
$newArr = array();
foreach ($data1 as $val) {
    $newArr[$val['distance']] = $val;    
}
$array = array_values($newArr);
print_r($array);
Priyank
  • 470
  • 2
  • 11
-1

Try to use some of this PHP native functions: http://php.net/manual/en/function.array-intersect-key.php

array_intersect_key($v1, $v2)

"Computes the intersection of arrays with additional index check, compares data by a callback function"

<?php
$v1 = array("distance" => 66.68, "lat" => "51.8560591", "long" => -2.2170209, "ordNum" => "1/5938ebf2475fa");
$v2 = array("distance" => 66.68, "lat" => "51.8560591", "long" => -2.2170209, "ordNum" => "1/5938e93c2080e");
print_r(array_intersect_key($v1, $v2));
?>

Result:

Array ( [distance] => 66.68 [lat] => 51.8560591 [long] => -2.2170209 [ordNum] => 1/5938ebf2475fa )

Community
  • 1
  • 1
Liberto
  • 41
  • 5