PHP:如何更改选择以获取关联数组而不是多维数组(工作代码)

时间:2015-07-20 10:29:43

标签: php arrays multidimensional-array associative-array

我是PHP新手, MySQLi 希望有人可以帮我解决这个问题。

我目前使用以下内容为目前可用的ID列表("content")选择相应的值($IDs)。 然而,这会使事情过于复杂,因为它返回一个多维数组(我希望这是正确的术语)。

有没有办法简化结果,以便我只得到一个数组,每个项目的tID和内容?

我的PHP:

$stmt = $conn->prepare("SELECT tID, en FROM Main WHERE tID IN(" . $IDs . ") ORDER BY tID");
$stmt->bind_param("s", $tID);
$stmt->execute();
$result = $stmt->get_result();
while($arrTranslations = $result->fetch_assoc()){
    $translations[] = array("tID" => $arrTranslations["tID"], "content" => $arrTranslations["en"]);
}
var_dump($translations);

示例结果:

array(3) {
  [0]=>
  array(2) {
    ["tID"]=>
    int(1)
    ["content"]=>
    string(6) "Value1"
  }
  [1]=>
  array(2) {
    ["tID"]=>
    int(2)
    ["content"]=>
    string(6) "Value2"
  }
  [2]=>
  array(2) {
    ["tID"]=>
    int(3)
    ["content"]=>
    string(6) "Value3"
  }
}

非常感谢提前,
麦克

1 个答案:

答案 0 :(得分:1)

嗯,你可以这样做,因为结果集中只有2个项目,如果tID是唯一的。

while($arrTranslations = $result->fetch_assoc()){
    $translations[$arrTranslations["tID"]] = $arrTranslations["en"];
}

哪个应该生成

array(3) 
  [1]=>"Value1"
  [2]=>"Value2"
  [3]=>"Value3"