要获得这样的数组 array("123","456","789");
我使用以下代码:
$Regids = mysql_query("SELECT regid FROM $tabel WHERE active = '1'");
while($row = mysql_fetch_array($Regids))
{
$result_array[] = "\"".$row['regid']."\"";
}
$regIDs = implode(',', $result_array);
$registrationIDs = array($regIDs); // array("123","456","789");
但我希望 PHP/mySQL 有一个更简单/更快的解决方案?
最佳答案
我怀疑您的代码是否会产生您想要的结果。
// assuming the this query produces 123,456,789
$Regids = mysql_query("SELECT regid FROM $tabel WHERE active = '1'");
// $row contains: array("123")
while($row = mysql_fetch_array($Regids))
{
$result_array[] = "\"".$row['regid']."\"";
}
// $result_array now contains: array("\"123\"", "\"456\"", "\"798\"");
$regIDs = implode(',', $result_array);
// $regIDS now contains a single string: "\"123\",\"456\",\"798\"";
$registrationIDs = array($regIDs);
// registrationIDs now is an array containing a single string: array("\"123\",\"456\",\"798\"");
如果您确实需要一个如下所示的数组:array("123","456","789");
,则要简单得多。
$Regids = mysql_query("SELECT regid FROM $tabel WHERE active = '1'");
while($row = mysql_fetch_array($Regids))
$registrationIDs[] = $row['regid'];
仅此而已。
如果你的 mysql 结果包含整数形式的数字而不是字符串,你可以像这样转换它:
$Regids = mysql_query("SELECT regid FROM $tabel WHERE active = '1'");
while($row = mysql_fetch_array($Regids))
$registrationIDs[] = strval($row['regid']);
此外,请记住 mysql_*
函数已被弃用。不要用它开始新代码并计划将现有代码移植到 mysqli_*
或 PDO。
关于php - 将 mysql 结果放入一个 php 数组中,像这样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20312681/