Wyrażenia regularne, zaprzestanie poszukiwań.

0

Witam, problem mój polega na tym, że mam taki oto ciąg znaków do przeszukania:
{"asks":[[1745.5,0.22058539],[1747,0.4],[1753,0.01],[1755,0.04603779],[1755.5555,0.33051644],[1759,0.30560027],[1760,0.25343108],[1770,0.01961243],[1779,0.06],[1780,0.00080787],[1800,1.62307575],[1802.001,0.14264803],[1824.5,0.00553645],[1832.001,0.24239476],[1839.9999,1.55304342],[1850,0.6516666],[1855,0.56],[1860,0.16619],[1868,0.002],[1869,0.39184291],[1890,0.30427336],[1899.9999,0.86063954],[1900,0.73978725],[1920,0.1044451],[1921,0.02355618],[1941,0.1],[1944,0.0104],[1949.9999,0.0135763],[1950,0.13064033],[1980,2.2],[1990,0.1],[2000,0.3],[2100,0.4],[2198,0.02759233],[2200,0.29276728],[2300,0.05583265],[2397.9999,0.88240066],[2398,0.63256746],[2399,0.46302364],[2599.9999,0.3085854],[2779,0.65644765],[2900,2.05882353],[2990,0.92447974],[3970,0.126],[6690,0.12073]],"bids":[[1736,0.87421869],[1735,0.24113438],[1730,0.24333682],[1729,0.48066197],[1725,0.15833229],[1715.5,0.2],[1715.2,0.6],[1715.11,0.79],[1703.1001,0.95628975],[1703.001,0.27697893],[1703,0.89],[1702,0.1762632],[1700.5,1.80990108],[1700,0.35882342],[1699,0.252],[1695,3.31529526],[1666,0.666],[1651,0.26127405],[1633,1.26],[1300,0.08046013]]}
i chciałbym posortować to w dany sposób: kolejno nawiasy([1745.5,0.22058539]) od asks do bids i od bids do końca, tak, żeby mieć jasny dostęp do 1szej i drugiej części.
Do tej pory zrobiłem coś takiego:

preg_match_all('/\[([\d+\.\d*]+|[\d+])(.?)([\d+\.\d*]+|[\d+])\]/', $ciag, $wyniki);

Ciąg zwracany wygląda tak:

Array ( [0] => Array ( [0] => [1745.5,0.16358539] [1] => [1749,0.13803294] [2] => [1753,0.01] [3] => [1755,0.04603779] [4] => [1758.5,0.33051644] [5] => [1759,0.30560027] [6] => [1760,0.25343108] [7] => [1770,0.01961243] [8] => [1779,0.06] [9] => [1780,0.00080787] [10] => [1800,1.62307575] [11] => [1802.001,0.14264803] [12] => [1824.5,0.00553645] [13] => [1832.001,0.24239476] [14] => [1839.9999,1.55304342] [15] => [1850,0.6516666] [16] => [1855,0.56] [17] => [1860,0.16619] [18] => [1868,0.002] [19] => [1869,0.39184291] [20] => [1890,0.30427336] [21] => [1899.9999,0.86063954] [22] => [1900,0.73978725] [23] => [1920,0.1044451] [24] => [1921,0.02355618] [25] => [1941,0.1] [26] => [1944,0.0104] [27] => [1949.9999,0.0135763] [28] => [1950,0.13064033] [29] => [1980,2.2] [30] => [1990,0.1] [31] => [2000,0.3] [32] => [2100,0.4] [33] => [2198,0.02759233] [34] => [2200,0.29276728] [35] => [2300,0.05583265] [36] => [2397.9999,0.88240066] [37] => [2398,0.63256746] [38] => [2399,0.46302364] [39] => [2599.9999,0.3085854] [40] => [2779,0.65644765] [41] => [2900,2.05882353] [42] => [2990,0.92447974] [43] => [3970,0.126] [44] => [6690,0.12073] [45] => [1736,0.38778178] [46] => [1735,0.30975855] [47] => [1733,0.155] [48] => [1730,0.54510352] [49] => [1715.2,0.6] [50] => [1715.11,0.79] [51] => [1703.1001,0.95628975] [52] => [1703.001,0.27697893] [53] => [1703,0.89] [54] => [1702,0.1762632] [55] => [1700.5,1.80990108] [56] => [1700,0.35882342] [57] => [1699,0.252] [58] => [1695,3.31529526] [59] => [1666,0.666] [60] => [1651,0.26127405] [61] => [1633,1.26] [62] => [1300,0.08046013] ) [1] => Array ( [0] => 1745.5 [1] => 1749 [2] => 1753 [3] => 1755 [4] => 1758.5 [5] => 1759 [6] => 1760 [7] => 1770 [8] => 1779 [9] => 1780 [10] => 1800 [11] => 1802.001 [12] => 1824.5 [13] => 1832.001 [14] => 1839.9999 [15] => 1850 [16] => 1855 [17] => 1860 [18] => 1868 [19] => 1869 [20] => 1890 [21] => 1899.9999 [22] => 1900 [23] => 1920 [24] => 1921 [25] => 1941 [26] => 1944 [27] => 1949.9999 [28] => 1950 [29] => 1980 [30] => 1990 [31] => 2000 [32] => 2100 [33] => 2198 [34] => 2200 [35] => 2300 [36] => 2397.9999 [37] => 2398 [38] => 2399 [39] => 2599.9999 [40] => 2779 [41] => 2900 [42] => 2990 [43] => 3970 [44] => 6690 [45] => 1736 [46] => 1735 [47] => 1733 [48] => 1730 [49] => 1715.2 [50] => 1715.11 [51] => 1703.1001 [52] => 1703.001 [53] => 1703 [54] => 1702 [55] => 1700.5 [56] => 1700 [57] => 1699 [58] => 1695 [59] => 1666 [60] => 1651 [61] => 1633 [62] => 1300 ) [2] => Array ( [0] => , [1] => , [2] => , [3] => , [4] => , [5] => , [6] => , [7] => , [8] => , [9] => , [10] => , [11] => , [12] => , [13] => , [14] => , [15] => , [16] => , [17] => , [18] => , [19] => , [20] => , [21] => , [22] => , [23] => , [24] => , [25] => , [26] => , [27] => , [28] => , [29] => , [30] => , [31] => , [32] => , [33] => , [34] => , [35] => , [36] => , [37] => , [38] => , [39] => , [40] => , [41] => , [42] => , [43] => , [44] => , [45] => , [46] => , [47] => , [48] => , [49] => , [50] => , [51] => , [52] => , [53] => , [54] => , [55] => , [56] => , [57] => , [58] => , [59] => , [60] => , [61] => , [62] => , ) [3] => Array ( [0] => 0.16358539 [1] => 0.13803294 [2] => 0.01 [3] => 0.04603779 [4] => 0.33051644 [5] => 0.30560027 [6] => 0.25343108 [7] => 0.01961243 [8] => 0.06 [9] => 0.00080787 [10] => 1.62307575 [11] => 0.14264803 [12] => 0.00553645 [13] => 0.24239476 [14] => 1.55304342 [15] => 0.6516666 [16] => 0.56 [17] => 0.16619 [18] => 0.002 [19] => 0.39184291 [20] => 0.30427336 [21] => 0.86063954 [22] => 0.73978725 [23] => 0.1044451 [24] => 0.02355618 [25] => 0.1 [26] => 0.0104 [27] => 0.0135763 [28] => 0.13064033 [29] => 2.2 [30] => 0.1 [31] => 0.3 [32] => 0.4 [33] => 0.02759233 [34] => 0.29276728 [35] => 0.05583265 [36] => 0.88240066 [37] => 0.63256746 [38] => 0.46302364 [39] => 0.3085854 [40] => 0.65644765 [41] => 2.05882353 [42] => 0.92447974 [43] => 0.126 [44] => 0.12073 [45] => 0.38778178 [46] => 0.30975855 [47] => 0.155 [48] => 0.54510352 [49] => 0.6 [50] => 0.79 [51] => 0.95628975 [52] => 0.27697893 [53] => 0.89 [54] => 0.1762632 [55] => 1.80990108 [56] => 0.35882342 [57] => 0.252 [58] => 3.31529526 [59] => 0.666 [60] => 0.26127405 [61] => 1.26 [62] => 0.08046013 ) )

Powiedzmy, że do pewnego stopnia jest to satysfakcjonujące, jednak niestety nie wiem jak rozdzielić granicę pomiędzy asks i bids, liczba jednych i drugich jest zmienna tak więc nie mogę określić do i od którego miejsca występują. Proszę o pomoc/wskazówki w rozwiązaniu problemu. POzdrawiam.

1

wyrażenia regularnie nie służą do takich rzeczy. a ten string to zwykły JSON przecież -> json_decode()

0

Aa, dobrze wiedzieć, że coś takiego istnieje. Dziękuje za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1