Use 01 string like this, use 01 string_PHP tutorial

WBOY
Release: 2016-07-13 09:57:52
Original
1162 people have browsed it

Use 01 string like this, use 01 string

When I was making something today, I discovered a few interesting places. I wrote them down to share with you. Start with a few small questions

How would you record an age group? Can you express something like "50~70"?

Perhaps you will say it is very simple, use two fields, one start=>Start age, and one end=>End age, or in one field, use the format of start|end, with one in the middle Separate them with non-numbers, or use start|start-end, haha, there are many methods anyway, but if you ask for an upgrade at this time, you are asked to express the ages of 10~20, 25, 29~40, how do you express them? Of course, you can also express it through a string, such as: 10-20|25|29-40, and set some rules to express it yourself. But can this representation method be optimized? The answer is yes.

You can use the 01 string to represent a non-repeating age interval. The default is 100 0s, marking the position from 1 to 100 years old. If it is 1, it means that the age is present, and if it is zero, it means that there is no such age. For ease of explanation, 10 zeros are used here to represent 1 to 10 years old, then:

<p>0111111000    =>  表示2~7岁</p>
<p>0110111010    => 表示2~3、5~7、9岁</p>
Copy after login

Haha, is it very convenient to express and easy to understand? Of course, this also has its shortcomings. It is very convenient to express, but it is really inconvenient to use and requires calculation.

Randomly select some numbers from 1, 2, 3,..., 199, 200. How do you express them?

Of course, there are many ways to do this, such as using string representation and dividing each number with non-digits, like this: 1|5|100|199. What I want to say is still represented by a string of 01, just like the 1~200 above. For the problem of selecting part of it, I can use a string of 200 positions, each position is 0 or 1, and each position is placed is its corresponding number. In this case, this information will be represented as a string of 01. Let’s give an example based on 0~10

<p>0111111000    =>  表示2、3、4、5、6、7</p>
<p>0110111010    => 表示2、3、5、6、7、9</p>
Copy after login

Of course, some people may say that the data I want to represent is not continuous. For example, I want to represent

 1926, 19658, 12, 5638, 8975, 965, 369, 5126, 5698, 14556

Some of the above numbers are very large, some are very small, and there is no pattern. We want to indicate that the largest number of them will not be used if the total number does not exceed 10 (for example, 19658 0s here), Of course not. In this case, mapping can be used. The mapping relationship is as follows:

<span>1</span> => <span>1926</span><span>,
</span><span>2</span> => <span>19658</span><span>,
</span><span>3</span> => <span>12</span><span>,
</span><span>4</span> => <span>5638</span><span>,
</span><span>5</span> => <span>8975</span><span>,
</span><span>6</span> => <span>965</span><span>,
</span><span>7</span> => <span>369</span><span>,
</span><span>8</span> => <span>5126</span><span>,
</span><span>9</span> => <span>5698</span><span>,
</span><span>10</span> => <span>14556</span>
Copy after login

At this time, if you want to express the selection of 1926, 12, 5698, you can use the following 01 string:

 1010000010

Perhaps you have also discovered that this can also have the effect of saving traffic. When the two parties interact, we establish the mapping relationship. When transmitting over the network, we do not need to transmit the real data, only the corresponding 01 string. That’s it.

Of course, this can also mean many things. For example, I divided a day into 1 segment of 5 minutes, with a total of 288 segments. At this time, I randomly selected some 5-minute segments from them, and used 288 segments. The length of 01 string indicates whether this is good, haha.

In some cases, this 01 string representation method is quite desirable, and sometimes it can save traffic.

The copyright of this article belongs to the author iforever (luluyrt@163.com). Any form of reprinting is prohibited without the consent of the author. After reprinting the article, the author and the original text link must be given in an obvious position on the article page.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/980031.htmlTechArticleUse 01 string like this, use 01 string when I was making something today, I discovered a few interesting things. Write it down and share it with everyone. Start with a few small questions and record how you would do it at an age...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!