Hello stackoverflow人员,我想知道如何从数据库中获取值并使用它们。我的数据库如下所示:
我想取这些值并制作看起来像这样的数组
[1] => Programavimo darbas
[5] => Mokymai
我试图这样做:
$check = mysql_query("SELECT user_task_types, user_task_types_id FROM dotp_user_task_type WHERE user_id = '$user_id'");
$check = mysql_fetch_array($check);
$check = preg_split("/\,/", $check[0], -1, PREG_SPLIT_NO_EMPTY);
但那并没有像我预期的那样奏效......
答案 0 :(得分:1)
使用explode:
{
"statusCode": 200,
"content": "\"\\\"[1.000000 0.500000]\\\"\"",
"headers": {
"vary": "Accept-Encoding",
"access-control-allow-origin": "*",
"access-control-allow-headers": "Origin, X-Requested-With, Content-Type, Accept"
},
"data": "\"[1.000000 0.500000]\""
}
答案 1 :(得分:1)
试试这个
$resultArray=array();
while($row= mysql_fetch_array($check))
{
$types=$row[0];
$types=explode(",",$types);
$ids=$row[1];
$ids=explode(",",$ids);
$ins=0;
foreach($ids as $key)
{
$resultArray[$key]=$types[$ins];
$ins++;
}
}
答案 2 :(得分:0)
最简单的方法是做这样的事情:
$check = mysql_query("SELECT user_task_types, user_task_types_id FROM dotp_user_task_type WHERE user_id = '$user_id'");
$check = mysql_fetch_array($check);
$row = mysql_fetch_assoc($check);
foreach ($row as $key => $value) {
$value_list = explode(',', $value);
foreach ($value_list as $key2 => $value2) {
$value_list[$key2] = trim($value2);
}
$row[$key] = $value_list;
}
这不是最优雅的方式(array_walk可能就是这样),但它确保你应该得到你应该的数组 - 在不应该存在的项目之间没有额外的空格。