我是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"
}
}
非常感谢提前,
麦克
答案 0 :(得分:1)
嗯,你可以这样做,因为结果集中只有2个项目,如果tID
是唯一的。
while($arrTranslations = $result->fetch_assoc()){
$translations[$arrTranslations["tID"]] = $arrTranslations["en"];
}
哪个应该生成
array(3)
[1]=>"Value1"
[2]=>"Value2"
[3]=>"Value3"