Понимаю, что коряво написал, извините!
1) Дано переменная $valuti: USD/RUR 111,USD/UAH 111,EUR/USD 1,2,USD/BYR 15677.5,BTC/USD 10.6,USD/TRY 1.875,USD/KZT 195,BTC/RUR 1211,BTC/UAH 1111,BTC/EUR 7,BTC/TRY 111
Из $valuti нужно извлечь все варианты валют:
т.е. получится : USD, RUR, UAH, EUR, BYR, KZT ... (вывести на экран) из этих данных, можно назначить 2 переменные, т.е.
2) Дано выбираем 2 переменные из массива: например $v1 = RUR; $v2 = BTC
3) Дано третья переменная значение первой $v1num = 12000 (RUR)
Далее нужно рассчитать все возможные цепочки от $v1 (RUR) до $v2 (BTC) с выводом этих цепочек и рассчетом на экран:
(у валюты RUR есть всего две пары это пара BTC/RUR и USD/RUR, первая пара то, что дает нам сразу BTC(BTC/RUR), а вторая пара дает USD(USD/RUR), теперь из USD ищем пару с BTC находим BTC/USD, но у USD есть еще пары, которые могут привести нас к BTC, те пары с USD которые не приводят к BTC нам не нужны например USD/KZT 195 и мы их пропускаем)
например :
Получаем на экране следующее
BTC/RUR 9,19 btc (первое совпадение от RUR до BTC, рассчет rur разделить на btc)
USD/RUR 108,1usd -- BTC/USD 10,19 btc(вторая цепочка, от RUR до BTC совпадение)
USD/RUR 108,1usd -- USD/UAH 11999,1 uah-- BTC/UAH 10,8 btc (третья цепочка от RUR до BTC вывести на экран)
USD/RUR108,1usd -- EUR/USD 90 eur -- BTC/EUR 12,85 btc (четвертая цепочка от RUR до BTC вывести на экран и т.д.)[/b][/color]
Сама пара читается так USD/UAH 111:
1 USD = 111 UAH т.е. если у нас есть 2 usd то = 222 UAH (usd*111)
А если нам надо в обратную сторону, то делим (1/111) 1 uah = 0,009 USD
Т.е. получается нужно найти цепочку в $valuti от $v1 до $v2 и значение $v1num разделить или умножить на найденные значения.
(Добавление)
Я Хотел сделать массив вида:
USD/RUR 111
USD/UAH 111
EUR/USD 1,2
USD/BYR 15677.5
BTC/USD 10.6
USD/TRY 1.875
USD/KZT 195
BTC/RUR 1211
BTC/UAH 1111
BTC/EUR 7
BTC/TRY 111
Затем с использованием preg_match определить переменные
$a = RUR;
preg_match($a/, массив, ;$a_);
$aa = $a_[0];
$b = BTC;
preg_match(/$b, массив, ;$b_);
$bb= $b_[0];
preg_match(валюта/, массив, ;$с);
$сс = $с[0];
preg_match(/валюта, массив, ;$d);
$dd = $d[0];
preg_match(число, массив, ;$n);
$nn = $n[0];
Как бы привести массив к виду
$сс $dd $nn или $aa $bb $nn
$сс $dd $nn
$сс $dd $nn
$сс $dd $nn
$сс $dd $nn
$сс $dd $nn
$сс $dd $nn
$сс $dd $nn
$сс $dd $nn
$сс $dd $nn
А Затем придумать логику построения цепочки проходя по массиву.
что то вроде
if ($a && $b ) {найдена цепочка BTC/RUR, я получил массив [8] и могу сделать с ним что хоxу};
if ($a && !$b ) {найдены все остальные цепочки со значением RUR - переменной $a в данном случае это одно значение массива [0] USD/RUR 111}
как дальше я не придумал, хотя я нашел USD/RUR и теперь мне надо работать уже с USD а массивы [0] и [8] уже исключить из поиска