[英]Storing multiple values in one field
我有一個腳本,它將在我的數據庫中的單元格中插入一個值。 該單元格將總共包含 4 個值。 它應該看起來像這樣:0;0;0;0(每個“0”,代表一個值)
如何在 '0' 數字 3 所在的位置插入示例值 100,所以它看起來像這樣:
0;0;100;0
提前致謝。
這是糟糕的數據庫設計,打破了數據庫設計的第一種正常形式。
我建議重新考慮您的架構和數據架構。
也許將它們分成單獨的列。
您的數據應進行相關設計,以盡量減少列中的重復模式(請參閱上面的鏈接)
我幾乎可以向你保證,有更好的方法......
查看serialize()
和unserialize()
$array = array(0,20,103,330);
$string = serialize($array); // store this in db
然后從 db 中獲取字符串:
$array = unserialize($string);
使用數組訪問/更新值並重新存儲在數據庫中
或者,如果您堅持以下格式:
$string = '0;0;100;0'; // coming from db
$array = explode(';' , $string);
$array[2] = 100;
$string = implode(';' , $array);
<?php
// original string of values seperated by colon
$string = "0;0;0;0";
// create array of values by splitting at colons
$vals = preg_split('/;/', $string);
// modify the value of any elements in your array
$vals[2] = 100;
// glue your array of values together with semicolons at the joins
$string = implode(';',$vals);
// check the value has been changed coreectly
echo $string;
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.