У меня есть многомерный массив.
$parent_array($child1('lat','long'),$child2('lat','long')...)
Количество дочерних массивов может иметь любое значение на запрос, начиная с 2.
Затем родительский массив вызывается в функцию, у которой есть калькулятор расстояния Google между или несколькими точками.
function distance($parent_array)
{
foreach ( $parent_array as $child){
$distance = file_get_contents('https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins='.$child1['lat'].','.$child1['long'].'&destinations='.$child2['lat'].','.$child2['long'].'&key=********************************');
$trim = trim($this->objectToArray($distance)['rows'][0]['elements'][0]['distance']['text'],' km');
}
return $trim;
}
Мне нужно получить эту функцию для расчета расстояния между всеми размещенными дочерними массивами, как показано на приведенной выше функции, используя
$ child1 и $ child2
Как я понимаю, вам нужен декартово произведение. Это так просто, как 2 foreach
циклы:
foreach ($points as $point1) {
foreach ($points as $point2) {
computeDistance($point1, $point2);
}
}
Других решений пока нет …