回答編集履歴

3

SQLアンチパターンについて追記

2017/05/13 01:26

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -47,3 +47,15 @@
47
47
 
48
48
 
49
49
  ちなみに `explode()` でバラした値は文字列のままですので、厳格に int として扱いたい場合は、別途配列の中身を `int()` で整数に変換してください。
50
+
51
+
52
+
53
+ ---
54
+
55
+
56
+
57
+ そもそもな話ですが、データベースの1つのカラムに今回のように複数の情報を入れるのは設計上望ましくありません。このようなやってはいけない手法を「アンチパターン」といいます。
58
+
59
+
60
+
61
+ データベース関連のアンチパターンとその対策を集めた「[SQLアンチパターン](https://www.amazon.co.jp/dp/4873115892)」というすばらしい技術本があります。もし今後もデータベースを扱う予定があるのであれば、一読することをお勧めします。

2

微修正

2017/05/13 01:26

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -1,4 +1,14 @@
1
+ 質問が不明瞭でよくわからないのですが、
2
+
3
+
4
+
1
- 質問が不明瞭でよくわからないのですが、MySQL PHP `/` で区切ら複数の int をりとしたいということでしょうか?
5
+ * PHPで配列に格納さている複数の int を '/' 区切にして varchar として MySQL に格納したい
6
+
7
+ * MySQL に格納された文字列をPHPで取得し配列に戻したい
8
+
9
+
10
+
11
+ ということでよいでしょうか?
2
12
 
3
13
 
4
14
 

1

微修正

2017/05/12 22:44

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -2,13 +2,15 @@
2
2
 
3
3
 
4
4
 
5
- 文字列を特定の区切り文字でばらして配列に格納するには `explode()`、反対に配列を特定の区切り文字を入れて文字列にするには `implode()` を使います。
5
+ 文字列を特定の区切り文字でばらして配列に格納するには `explode()`、反対に配列を特定の区切り文字を挟んで文字列にするには `implode()` を使います。
6
6
 
7
7
 
8
8
 
9
9
  ```php
10
10
 
11
11
  <?php
12
+
13
+ // MySQLから取り出した値(ダミーデータ)
12
14
 
13
15
  $data = '1/2/3/4/5/6/7/8/9/10';
14
16
 
@@ -22,7 +24,7 @@
22
24
 
23
25
 
24
26
 
25
- // PHP配列 → DB記録する文字列
27
+ // PHP配列 → DB記録する文字列
26
28
 
27
29
  $data_decoded[] = 999; // 値を追加
28
30