PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

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

> Найдено сообщений: 4
diprom Отправлено: 14 Августа, 2016 - 08:54:37 • Тема: портирование функции js • Форум: Программирование на PHP

Ответов: 1
Просмотров: 466
все решил, закрывайте тему.
diprom Отправлено: 13 Августа, 2016 - 20:01:53 • Тема: портирование функции js • Форум: Программирование на PHP

Ответов: 1
Просмотров: 466
Здравствуйте. Не могу понять, с какой функции js переписать код на php.
Нужно сделать нечто подобное с функцией indexElementMatchingFunction.
Можно вообще этот огород не писать и сделать в 1 массиве. Пока не понятно, что
за функция function(Apoint) передается и как ее написать. Все остальные легко портируются.
Спасибо.

function grep (a, b, c)
{

var d, e = [],
f = 0,
g = a.length;
c = false;
for (; f < g; f++) d = !!b(a[f], f), c !== d && e.push(a[f]);
return e
}



function filterFirstMatchingElement(array, fn)
{
var element = grep(array, fn)[0];
return element;
}

function indexElementMatchingFunction(array, fn) {

var element = filterFirstMatchingElement(array, fn);
return array.indexOf(element);
}

function pointsEqual(currentPoint, Apoint)
{
return false; // may be true
}

currentIndex = indexElementMatchingFunction(currentPolygon, function(Apoint)
{
return pointsEqual(currentPoint, Apoint);
});
diprom Отправлено: 13 Августа, 2016 - 19:58:44 • Тема: вставка в ассоциативный массив • Форум: Программирование на PHP

Ответов: 1
Просмотров: 496
все, решил. тему можно закрывать.
diprom Отправлено: 12 Августа, 2016 - 17:32:30 • Тема: вставка в ассоциативный массив • Форум: Программирование на PHP

Ответов: 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, чтобы она работала корректно.
Спасибо.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB