質問編集履歴

7

コード修正

2020/03/05 00:51

投稿

d__..___
d__..___

スコア18

test CHANGED
File without changes
test CHANGED
@@ -138,6 +138,16 @@
138
138
 
139
139
  というイメージです。
140
140
 
141
+ orangeの場合は、先にorange,2が格納されているので
142
+
143
+ orange,5と比較すると5のほうが大きいので、orange,2を削除してorange,5を格納する
144
+
145
+ ということです。
146
+
147
+
148
+
149
+ 処理としては
150
+
141
151
  }else{
142
152
 
143
153
  //もしみつかったら既存の配列と比較して、大きいほうのみ残す
@@ -148,7 +158,7 @@
148
158
 
149
159
 
150
160
 
151
- この部分を教えてください。
161
+ この部分に記載したいです。この部分に記載するアルゴリズムを教えてください。
152
162
 
153
163
 
154
164
 

6

コード修正

2020/03/05 00:51

投稿

d__..___
d__..___

スコア18

test CHANGED
File without changes
test CHANGED
@@ -138,6 +138,22 @@
138
138
 
139
139
  というイメージです。
140
140
 
141
+ }else{
142
+
143
+ //もしみつかったら既存の配列と比較して、大きいほうのみ残す
144
+
145
+
146
+
147
+ }
148
+
149
+
150
+
151
+ この部分を教えてください。
152
+
153
+
154
+
155
+
156
+
141
157
 
142
158
 
143
159
  ```PHP

5

コード修正

2020/03/05 00:48

投稿

d__..___
d__..___

スコア18

test CHANGED
File without changes
test CHANGED
@@ -130,7 +130,19 @@
130
130
 
131
131
  この処理を使って書く方法はありませんか?
132
132
 
133
-
133
+ ループではapple,10が先に格納されていて、あとのapple,4と比較したとき
134
+
135
+ 10 > 4
136
+
137
+ なので、apple4は格納しない
138
+
139
+ というイメージです。
140
+
141
+
142
+
143
+ ```PHP
144
+
145
+ <?
134
146
 
135
147
  $org = [
136
148
 
@@ -185,3 +197,7 @@
185
197
 
186
198
 
187
199
  print_r($data);
200
+
201
+ ?>
202
+
203
+ ```

4

追記

2020/03/05 00:47

投稿

d__..___
d__..___

スコア18

test CHANGED
File without changes
test CHANGED
@@ -115,3 +115,73 @@
115
115
  */
116
116
 
117
117
  ```
118
+
119
+
120
+
121
+
122
+
123
+ #追記
124
+
125
+
126
+
127
+ こんなかんじのアルゴリズムを思いついたのですが、
128
+
129
+ //もしみつかったら既存の配列と比較して、大きいほうのみ残す
130
+
131
+ この処理を使って書く方法はありませんか?
132
+
133
+
134
+
135
+ $org = [
136
+
137
+ ['apple', 10],
138
+
139
+ ['orange', 2],
140
+
141
+ ['orange', 5],
142
+
143
+ ['melon', 6],
144
+
145
+ ['banana', 3],
146
+
147
+ ['apple', 4],
148
+
149
+ ];
150
+
151
+
152
+
153
+ $tmp = array();
154
+
155
+ $array_result = array();
156
+
157
+
158
+
159
+ foreach( $org as $key => $value ){
160
+
161
+
162
+
163
+ // 配列に値が見つからなければ$tmpに格納
164
+
165
+ if( !in_array( $value[0], $tmp ) ) {
166
+
167
+ $tmp[] = $value[0];
168
+
169
+ $array_result[] = $value;
170
+
171
+ }else{
172
+
173
+ //もしみつかったら既存の配列と比較して、大きいほうのみ残す
174
+
175
+
176
+
177
+ }
178
+
179
+
180
+
181
+ }
182
+
183
+ $data = $array_result;
184
+
185
+
186
+
187
+ print_r($data);

3

code

2020/03/05 00:05

投稿

d__..___
d__..___

スコア18

test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
 
78
78
 
79
-
79
+ ```PHP
80
80
 
81
81
  $item = <<< FORM
82
82
 
@@ -113,3 +113,5 @@
113
113
 
114
114
 
115
115
  */
116
+
117
+ ```

2

誤字

2020/03/03 22:17

投稿

d__..___
d__..___

スコア18

test CHANGED
File without changes
test CHANGED
@@ -38,9 +38,9 @@
38
38
 
39
39
  2 orange 5
40
40
 
41
- 4 melon 6
41
+ 3 melon 6
42
42
 
43
- 5 banana 3
43
+ 4 banana 3
44
44
 
45
45
 
46
46
 

1

誤字

2020/03/03 21:51

投稿

d__..___
d__..___

スコア18

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  このよう多次元配列において、同じ果物がある場合は、
20
20
 
21
- 質問1)個数の大きい大きいもののみ残してソートする、その際添え字は振直す
21
+ 質問1)個数の大きいもののみ残してソートする、その際添え字は振直す
22
22
 
23
23
  質問2)個数の大きいもののみ残して、果物のアルファベット順にソートする (添え字は再度振りなおす)をしたいです。
24
24