PHP функция для создания диаграмм из строк кодированных значений, не разделенных - PullRequest
0 голосов
/ 02 мая 2020

У меня сложный вопрос :-)

В указанном столбце c базы данных есть строки закодированных значений без разделителя, и я пытаюсь преобразовать их обратно в исходную цифру через запятую c значения

Это 2 (упрощенных) примера кодированных строк (реальные имеют по 50 цифр каждая):

€‚ƒ
„…â€

Они были закодированы в соответствии со следующей «картой»

0   =   '€'   =   '€'
2   =   '‚'   =   '‚'
3   =   'ƒ'   =   'Æ’'
4   =   '„'   =   '„'
5   =   '…'   =   '…'
6   =   '†'   =   'â€'

et c ...

Я пытаюсь преобразовать их обратно в эквивалентные числа через запятую c значения:

0,2,3
4,5,6

Вот некоторые из настоящих строк

€€€€€€€€€€×××ÓÓßßÑÑéééÚééééßôôôìõõìõõõîÿÿÿóúúúûûûë
€€€€€€€€€€€€€€€€€Â¡¡¡¡Ÿ¦¦¦¦ºººÚÚÒÒßßËÛÛà à ÔôÿǦ
€€€€€€€€€€€ÿÿ×׺ÇÇÇÄÌ̾µ½½½·ÃÃü¾¾¾¨¤¤¤žžžžž

Я создал массив с «картой», которая должна помочь их декодировать

$flowGraphMap =
[
    [   '€'   ,   '€' ,   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  ]   ,
    [   '¿'    ,   '¿' ,   63  ]   ,
    [   'À'    ,   'À' ,   64  ]   ,
    [   'Ã'     ,   'Á' ,   65  ]   ,
    [   'Â'    ,   'Â' ,   66  ]   ,
    [   'Ã'    ,   'Ã' ,   67  ]   ,
    [   'Ä'    ,   'Ä' ,   68  ]   ,
    [   'Ã…'    ,   'Å' ,   69  ]   ,
    [   'Æ'    ,   'Æ' ,   70  ]   ,
    [   'Ç'    ,   'Ç' ,   71  ]   ,
    [   'È'    ,   'È' ,   72  ]   ,
    [   'É'    ,   'É' ,   73  ]   ,
    [   'Ê'    ,   'Ê' ,   74  ]   ,
    [   'Ë'    ,   'Ë' ,   75  ]   ,
    [   'ÃŒ'    ,   'Ì' ,   76  ]   ,
    [   'Ã'     ,   'Í' ,   77  ]   ,
    [   'ÃŽ'    ,   'Î' ,   78  ]   ,
    [   'Ã'     ,   'Ï' ,   79  ]   ,
    [   'Ã'     ,   'Ð' ,   80  ]   ,
    [   'Ñ'    ,   'Ñ' ,   81  ]   ,
    [   'Ã’'    ,   'Ò' ,   82  ]   ,
    [   'Ó'    ,   'Ó' ,   83  ]   ,
    [   'Ô'    ,   'Ô' ,   84  ]   ,
    [   'Õ'    ,   'Õ' ,   85  ]   ,
    [   'Ö'    ,   'Ö' ,   86  ]   ,
    [   '×'    ,   '×' ,   87  ]   ,
    [   'Ø'        ,   'Ø' ,   88  ]   ,
    [   'Ù'    ,   'Ù' ,   89  ]   ,
    [   'Ú'    ,   'Ú' ,   90  ]   ,
    [   'Û'    ,   'Û' ,   91  ]   ,
    [   'Ãœ'    ,   'Ü' ,   92  ]   ,
    [   'Ã'     ,   'Ý' ,   93  ]   ,
    [   'Þ'    ,   'Þ' ,   94  ]   ,
    [   'ß'    ,   'ß' ,   95  ]   ,
    [   'Ã'     ,   'à' ,   96  ]   ,
    [   'á'    ,   'á' ,   97  ]   ,
    [   'â'    ,   'â' ,   98  ]   ,
    [   'ã'    ,   'ã' ,   99  ]   ,
    [   'ä'    ,   'ä' ,   100 ]   ,
    [   'Ã¥'    ,   'å' ,   101 ]   ,
    [   'æ'    ,   'æ' ,   102 ]   ,
    [   'ç'    ,   'ç' ,   103 ]   ,
    [   'è'    ,   'è' ,   104 ]   ,
    [   'é'    ,   'é' ,   105 ]   ,
    [   'ê'    ,   'ê' ,   106 ]   ,
    [   'ë'    ,   'ë' ,   107 ]   ,
    [   'ì'    ,   'ì' ,   108 ]   ,
    [   'ì'    ,   'í' ,   109 ]   ,
    [   'î'    ,   'î' ,   110 ]   ,
    [   'ï'    ,   'ï' ,   111 ]   ,
    [   'ð'    ,   'ð' ,   112 ]   ,
    [   'ñ'    ,   'ñ' ,   113 ]   ,
    [   'ò'    ,   'ò' ,   114 ]   ,
    [   'ó'    ,   'ó' ,   115 ]   ,
    [   'ô'    ,   'ô' ,   116 ]   ,
    [   'õ'    ,   'õ' ,   117 ]   ,
    [   'ö'    ,   'ö' ,   118 ]   ,
    [   '÷'    ,   '÷' ,   119 ]   ,
    [   'ø'    ,   'ø' ,   120 ]   ,
    [   'ù'    ,   'ù' ,   121 ]   ,
    [   'ú'    ,   'ú' ,   122 ]   ,
    [   'û'    ,   'û' ,   123 ]   ,
    [   'ü'    ,   'ü' ,   124 ]   ,
    [   'ý'    ,   'ý' ,   125 ]   ,
    [   'þ'    ,   'þ' ,   126 ]   ,
    [   'ÿ'    ,   'ÿ' ,   127 ]   ,
];

Эта PHP функция должна извлекать эти строки из В таблице SQL разделите закодированные значения, преобразуйте их в соответствующие значения чисел c и создайте одну диаграмму рассеяния для каждой записи.

Спасибо всем !!

...