需要帮助从数据库创建数组

时间:2015-08-10 10:34:36

标签: php mysql

Hello stackoverflow人员,我想知道如何从数据库中获取值并使用它们。我的数据库如下所示:

enter image description here

我想取这些值并制作看起来像这样的数组

[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);

但那并没有像我预期的那样奏效......

3 个答案:

答案 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可能就是这样),但它确保你应该得到你应该的数组 - 在不应该存在的项目之间没有额外的空格。