Ответов: 1 Просмотров: 496
|
Здравствуйте.
Пытаюсь написать функцию, которая бы выполнялась по вставке также,
как и splice функция javascript.
Но там все работает хорошо, здесь еще не очень.
function array_insert(&$array, $value, $index)
{
if (!$array) return null;
if ($index > count($array))
$index = 0;
return $array = array_merge(array_splice($array, max(0, $index-1)), array($value), $array);
}
$polygon1ExpandedDict = array(array("x" => 36.166433, "y" => 51.7074119));
array_insert($polygon1ExpandedDict,array("x" => 36.16612078042507, "y" => 51.706887957894246,"distanceFromPreviousPoint" => 0.0006099150704),1);
array_insert($polygon1ExpandedDict,array("x" => 36.166153520685334, "y" => 51.7069429,"distanceFromPreviousPoint" => 0.000545957587),1);
//var_dump($polygon1ExpandedDict);
По идее массив $polygon1ExpandedDict должен быть на выходе таким:
array("x" => 36.166433, "y" => 51.7074119)
array("x" => 36.166153520685334, "y" => 51.7069429,"distanceFromPreviousPoint" => 0.000545957587)
array("x" => 36.16612078042507, "y" => 51.706887957894246,"distanceFromPreviousPoint" => 0.0006099150704)
а на деле нет:
array("x" => 36.166433, "y" => 51.7074119)
array("x" => 36.16612078042507, "y" => 51.706887957894246,"distanceFromPreviousPoint" => 0.0006099150704)
array("x" => 36.166153520685334, "y" => 51.7069429,"distanceFromPreviousPoint" => 0.000545957587)
Не понимаю, как изменить функцию array_insert, чтобы она работала корректно.
Спасибо. |