激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - 關(guān)于PHP數(shù)組迭代器的使用方法實(shí)例

關(guān)于PHP數(shù)組迭代器的使用方法實(shí)例

2021-11-26 15:13風(fēng)柏楊 PHP教程

在PHP的日常操作中,數(shù)組是最常出現(xiàn)的結(jié)構(gòu),而我們幾乎每天都在處理數(shù)組相關(guān)的內(nèi)容,這篇文章主要給大家介紹了關(guān)于PHP數(shù)組迭代器的使用方法,需要的朋友可以參考下

近來在開發(fā)一個視力篩查電子報告系統(tǒng)的產(chǎn)品,這個產(chǎn)品的作用是自動提取視力篩查過程中得到的屈光檢查數(shù)據(jù),并結(jié)合數(shù)據(jù)自動生成通俗易懂且專業(yè)的電子報告,以方便家長可以通過公眾號或h5鏈接查閱。

要實(shí)現(xiàn)這個需求,第一步是對驗(yàn)光設(shè)備里打印出來的紙質(zhì)報告做ocr,圖片識別接口返回的是二維數(shù)組,報告的原圖是這樣的:

關(guān)于PHP數(shù)組迭代器的使用方法實(shí)例

ocr接口返回的數(shù)據(jù)是這樣的

?
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
array(3) {
  ["words_result"]=>
  array(36) {
    [0]=>
    array(1) {
      ["words"]=>
      string(8) "fa-6000a"
    }
    [1]=>
    array(1) {
      ["words"]=>
      string(10) "2022-09-16"
    }
    [2]=>
    array(1) {
      ["words"]=>
      string(7) "04:00"
    }
    [3]=>
    array(1) {
      ["words"]=>
      string(8) "shop:b"
    }
    [4]=>
    array(1) {
      ["words"]=>
      string(7) "name:"
    }
    [5]=>
    array(1) {
      ["words"]=>
      string(3) "<r>"
    }
    [6]=>
    array(1) {
      ["words"]=>
      string(1) "c"
    }
    [7]=>
    array(1) {
      ["words"]=>
      string(1) "a"
    }
    [8]=>
    array(1) {
      ["words"]=>
      string(5) "-1.50"
    }
    [9]=>
    array(1) {
      ["words"]=>
      string(5) "-0.25"
    }
    [10]=>
    array(1) {
      ["words"]=>
      string(3) "131"
    }
    [11]=>
    array(1) {
      ["words"]=>
      string(5) "-1.50"
    }
    [12]=>
    array(1) {
      ["words"]=>
      string(7) "-0,25"
    }
    [13]=>
    array(1) {
      ["words"]=>
      string(3) "122"
    }
    [14]=>
    array(1) {
      ["words"]=>
      string(7) "-1,50"
    }
    [15]=>
    array(1) {
      ["words"]=>
      string(7) "-0,25"
    }
    [16]=>
    array(1) {
      ["words"]=>
      string(3) "114"
    }
    [17]=>
    array(1) {
      ["words"]=>
      string(5) "-1.50"
    }
    [18]=>
    array(1) {
      ["words"]=>
      string(7) "-0,25"
    }
    [19]=>
    array(1) {
      ["words"]=>
      string(3) "122"
    }
    [20]=>
    array(1) {
      ["words"]=>
      string(3) "<l>"
    }
    [21]=>
    array(1) {
      ["words"]=>
      string(1) "c"
    }
    [22]=>
    array(1) {
      ["words"]=>
      string(1) "a"
    }
    [23]=>
    array(1) {
      ["words"]=>
      string(5) "-1.50"
    }
    [24]=>
    array(1) {
      ["words"]=>
      string(4) "+0.0"
    }
    [25]=>
    array(1) {
      ["words"]=>
      string(5) "-1.25"
    }
    [26]=>
    array(1) {
      ["words"]=>
      string(7) "-0,25"
    }
    [27]=>
    array(1) {
      ["words"]=>
      string(3) "158"
    }
    [28]=>
    array(1) {
      ["words"]=>
      string(5) "-1.00"
    }
    [29]=>
    array(1) {
      ["words"]=>
      string(5) "-0.25"
    }
    [30]=>
    array(1) {
      ["words"]=>
      string(3) "100"
    }
    [31]=>
    array(1) {
      ["words"]=>
      string(1) "*"
    }
    [32]=>
    array(1) {
      ["words"]=>
      string(5) "-1.25"
    }
    [33]=>
    array(1) {
      ["words"]=>
      string(4) "+0.0"
    }
    [34]=>
    array(1) {
      ["words"]=>
      string(5) "u0=12"
    }
    [35]=>
    array(1) {
      ["words"]=>
      string(5) "pd=58"
    }
  }
  ["words_result_num"]=>
  int(36)
  ["log_id"]=>
  int(1455742838110100386)
}

而系統(tǒng)的需求是提取兩個號后面的兩個數(shù)字,那肯定是對上述數(shù)組做遍歷處理,然后遇到號便提取接下來的兩個元素,但在foreach里面,如果做標(biāo)記,等下次進(jìn)來時再提取數(shù)據(jù)比較麻煩,能不能在遇到*號字符串后,直接提取接下來的兩個字符串呢,這時我的腦海里出現(xiàn)了迭代器的概念,可能是之前用python或java開發(fā)時接觸到的吧,于是搜索了一下,果然php也是有迭代器的!!!

接下來簡單看了一下php文檔中的示例,就開始干了,很順利,5分鐘完工,下面把代碼貼出來并輔以簡單的注釋幫助大家理解:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$usefulnumlist = [];
$wordsresult = new \arrayiterator($wordsresult);//初始化數(shù)組迭代器,傳入數(shù)組變量
foreach($wordsresult as $item){
    $tempwords = $item['words'];
    if(strpos($tempwords, '*') !== false){
        if($tempwords === '*'){//有時候,*號會單獨(dú)識別成一個字符串,有時候會和后面的數(shù)字識別到一起,如果是單獨(dú)識別出來的,要把指針向后挪一位
            $wordsresult->next();//實(shí)現(xiàn)方法是: 數(shù)組變更名->next()方法
        }
       //注意,調(diào)用了next()方法后,不能再用$item去取數(shù)組元素值,要用current()方法才能取到"下一個值"
       array_push($usefulnumlist, $this->getcleannum($wordsresult->current()['words']));
       $wordsresult->next();
       array_push($usefulnumlist, $this->getcleannum($wordsresult->current()['words']));
    }
}

需注意的地方請看一下代碼注釋,本身封裝得很好,很容易理解和調(diào)用的

總結(jié)

到此這篇關(guān)于php數(shù)組迭代器的使用方法的文章就介紹到這了,更多相關(guān)php數(shù)組迭代器使用內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/one_and_only4711/article/details/121124381

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩视频一区二区三区在线观看 | 永久免费不卡在线观看黄网站 | 精品一区二区视频在线观看 | 91看片免费在线观看 | 成人免费福利视频 | 女人a级毛片 | 国产日本在线播放 | 国产精品久久久久久久久久久久久久久 | 久久人人爽人人爽人人片av免费 | 中文字幕一区在线观看视频 | 中文字幕极速在线观看 | 色羞羞 | 亚洲成人午夜精品 | 日本aaaa片毛片免费观看视频 | 精品中文字幕在线播放 | 99国产精品国产免费观看 | 国产69精品久久久久9999不卡免费 | 91久久国产综合精品女同国语 | 在线观看国产一区二区 | 91在线视频在线观看 | 蝌蚪久久窝 | 黄色一级片在线免费观看 | 久久综合爱 | 手机黄色小视频 | 国产亚洲精品美女久久久 | 99久久精约久久久久久清纯 | 越南一级黄色片 | 国产一区二区三区影视 | 午夜视频久久 | 成人一级免费视频 | 成年人毛片视频 | 毛片在线视频在线播放 | av一二三四区 | 日本aaa一级片 | 亚洲第一精品在线 | 亚洲第一页视频 | 黄色免费av| 亚洲综合精品 | 久久6国产| 久久精品视频12 | 免费观看一级淫片 |