我想從數據庫中檢索逗號分隔值並將每個值存儲在一個變量中。如何從數據庫中檢索逗號分隔值?
例如:在我的專欄中,我有以下幾點:2,3,5,8,9,21
我想這些數字商店裏面的變量是這樣的:
$a=2
$b=3
$c=5
// and so on…
我想從數據庫中檢索逗號分隔值並將每個值存儲在一個變量中。如何從數據庫中檢索逗號分隔值?
例如:在我的專欄中,我有以下幾點:2,3,5,8,9,21
我想這些數字商店裏面的變量是這樣的:
$a=2
$b=3
$c=5
// and so on…
有以下解決方案來看看:
方法1
$alphabet = range('a', 'z');
$str = '2,3,5,8,9,21';
$str_array = explode(',', $str);
foreach($str_array as $k=>$v){
${$alphabet[$k]} = $v;
}
echo $a,$b,$c,$d;
方法2
$var = 'a';
$str = '2,3,5,8,9,21';
$str_array = explode(',', $str);
foreach($str_array as $k=>$v){
${$var} = $v;
++$var;
}
echo $a,$b,$c,$d;
兩個解決方案的輸出:
2358
如果你想加載包含分開的整數字符串與','或'。'或'a'或';'這樣做:
如果你想出去 ' ':
$字符='';
如果你想出去:
$字符=; '''。
如果你想出去 '一':
$字符= 'A';
如果你想出去 ';':
$字符= ';';
(我加了這個幫助任何人有繩子的其他語法)
要連接,你可以做(Documentation):
$connection = mysql_connect('adress', 'mysql_user', 'mysql_password');
好了,我們有聯繫。現在取數據(Documentation)。
$database = "DatabaseWithTableWithIntegers";
$table = "TableWithIntegers";
$rowname = "RowWithIntegers";
$sql = "USE $database; SELECT $rowname FROM $table;";
$result = mysql_query ($sql, $connection);
現在宣佈類似清單:
$arr = []; // array for fetching
$vrr = []; // array for fetched
下一步是讀取行(Documentation):
while($row = mysql_fetch_row($result)){
行有串像「2,142,124,53,3511,513,531, 53「如果分隔符是」,「並且記錄存在於數據庫/表中。 神奇的功能是爆炸,這切片所有段到一個數組(Documentation):
$arr = explode($char, $row[$rowname]); //rowname is to be 100% sure
的最後一件事是做轉換(Documentation)
for($arr as &$a){
$value = intval($a);
array_push($vrr, $value); // to save the value into vrr([Documentation][6])
}}
感謝您的回答,我是新來的php請給我完整的代碼 –
我可以複製它,當我到家時,智能手機是非常最後的代碼編輯器(eta 4h) –
希望,現在很清楚 –
如果您在存儲數據a1,a2,a3在單個列中的形式,爲什麼不只是獲取數據並使用explode()
方法拆分它?
如果你正在使用關聯數組,然後使用json_encode()
數據存儲爲字符串時,再對其進行解碼使用json_decode()
後取出從數據庫
取決於你真正想要的數據,並在你的DBMS做你可能要考慮[nomalizing數據(https://en.wikipedia.org /維基/ Database_normalization)。 – VolkerK