Интересная проблема!
Вот моя попытка, я уверен, что это не самый эффективный способ
a = [(1, 5), (4, 2), (4, 3), (5, 4), (6, 3), (7, 6), (8, 9)]
# a = [(1, 5), (4, 2), (4, 3), (5, 4), (6, 3), (7, 6)]
d = {tuple(t): set(t) for t in a} # forces keys to be unique
while True:
for tuple_, set1 in d.items():
try:
match = next(k for k, set2 in d.items() if k != tuple_ and set1 & set2)
except StopIteration:
# no match for this key - keep looking
continue
else:
print('merging', tuple(set1), match)
d[tuple_] = set1 | d.pop(match)
break
else:
# no match for any key - we are done!
break
output = sorted(tuple(s) for s in d.values())
print(output)
Результат был таким:
merging (4, 5) (1, 5)
merging (1, 4, 5) (4, 3)
merging (1, 3, 4, 5) (6, 3)
merging (1, 3, 4, 5, 6) (7, 6)
merging (1, 3, 4, 5, 6, 7) (4, 2)
[(1, 2, 3, 4, 5, 6, 7), (8, 9)]
Вы не можете сделать этого через один только jQuery; Вам будет нужна комбинация Ajax (который можно сделать с jQuery), и бэкенд PHP. Очень простая версия могла бы быть похожей на это:
HTML:
<img class="foo" src="img.jpg" />
<img class="foo" src="img2.jpg" />
<img class="foo" src="img3.jpg" />
JavaScript:
$("img.foo").onclick(function()
{
// Get the src of the image
var src = $(this).attr("src");
// Send Ajax request to backend.php, with src set as "img" in the POST data
$.post("/backend.php", {"img": src});
});
PHP (backend.php):
<?php
// do any authentication first, then add POST variable to session
$_SESSION['imgsrc'] = $_POST['img'];
?>
Whats, который Вы ищете, jQuery Ajax. И затем просто установите php страницу для обработки запроса.
Мог бы хотеть попытаться поместить функцию PHP на другой странице PHP и использовать вызов Ajax для установки переменной.
Много ответов на здесь обращается как, но не почему. $ PHP _SESSION пары ключ/значение хранятся на сервере. Это отличается от cookie, который хранится на браузере. Поэтому Вы в состоянии получить доступ к значениям в cookie и от PHP и от JavaScript. Для усугубления положения запросы Ajax от браузера не включают ни одного из cookie, которые Вы установили для веб-сайта. Так, необходимо будет заставить JavaScript вытянуть идентификационный cookie Сессии и включать его в каждый запрос Ajax на сервер, чтобы быть в состоянии понять его. С другой стороны Сессии PHP разработаны к обработке отказа к HTTP, ДОБИРАЮТСЯ или переменная POST, если cookie не отправляются наряду с HTTP-заголовками. Я изучил бы некоторые принципы УСПОКОИТЕЛЬНЫХ веб-приложений и использование шаблонов разработки, которые распространены с теми видами приложений вместо того, чтобы пытаться исказить с обработчиком сессий.
в (backend.php) обязательно включите include
session_start ();
-Taylor http://www.hawkessolutions.com