Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: вставка в ассоциативный массив
Форумы портала PHP.SU » PHP » Программирование на PHP » вставка в ассоциативный массив

Страниц (1): [1]
 

1. diprom - 12 Августа, 2016 - 17:32:30 - перейти к сообщению
Здравствуйте.
Пытаюсь написать функцию, которая бы выполнялась по вставке также,
как и 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, чтобы она работала корректно.
Спасибо.
2. diprom - 13 Августа, 2016 - 19:58:44 - перейти к сообщению
все, решил. тему можно закрывать.

 

Powered by ExBB FM 1.0 RC1