Php 将字符串保存到数组中

Php 将字符串保存到数组中,php,mysql,arrays,Php,Mysql,Arrays,我有一个查询,在我的借阅表中查找借阅最多的前10本书,但是我想将这10个值存储到一个数组中,这样我就可以再次使用该数组。这是我到目前为止的代码。。。提前谢谢你的帮助 //select a database to work with $selected = mysql_select_db("ds2",$dbhandle) or die("Could not select examples"); //execute the SQL query and return records $result

我有一个查询,在我的借阅表中查找借阅最多的前10本书,但是我想将这10个值存储到一个数组中,这样我就可以再次使用该数组。这是我到目前为止的代码。。。提前谢谢你的帮助

//select a database to work with
$selected = mysql_select_db("ds2",$dbhandle)
or die("Could not select examples");

//execute the SQL query and return records
 $result = mysql_query("SELECT book.title, book.book_id, count(book.book_id) AS     count_book_id, loan.book_id  FROM book
      INNER JOIN loan ON book.book_id = loan.book_id
      GROUP BY book.book_id ASC
      ORDER BY count(book.book_id) DESC");

 $titles = array();

while($row = mysql_fetch_array($result))
{
echo $row['title'];
echo "<br>";
}

echo "<br><br>";

for($index = 1; $index <= 10; $index++)
{
array_push($titles,$result[$row]);
print_r($titles);
echo "<br>";

}
//选择要使用的数据库
$selected=mysql\u select\u db(“ds2”,$dbhandle)
或死亡(“无法选择示例”);
//执行SQL查询并返回记录
$result=mysql\u query(“从book中选择book.title、book.book\u id、count(book.book\u id)作为count\u book\u id、loan.book\u id
book.book\u id=loan.book\u id上的内部联接loan
按书本分组。书本id ASC
按计数订购(帐簿编号)说明);
$titles=array();
while($row=mysql\u fetch\u数组($result))
{
echo$row['title'];
回声“
”; } 回声“

”;
对于($index=1;$index而不是
echo$row['title']
,您可以使用下面的代码将它们存储到数组中

$titles[] = $row['title'];
以后使用数组概念访问它们

$titles[0]; // 1st item
$titles[1]; //2nd item
甚至可以使用foreach循环遍历所有项

foreach($titles[] as $title)
     echo $title;
下面将允许您获取逗号分隔的字符串(如果需要,仅供参考)

试试看

while($row=mysql\u fetch\u array($result))
{
echo$row['title'];
$arr[]=$row['title'];//存储在数组中
回声“
”; } 回声“

”; //因为您只需要10个值,否则就不需要这个for循环。
对于($index=1;$index您应该在循环中填充数组,而不是在单独的循环中填充数组之后:

$count = 0;
while($row = mysql_fetch_array($result))
{
  echo $row['title'];
  echo "<br>";
  if ($count < 10)
  {
    array_push($titles, $row);
  }
  $count++;
}
$count=0;
while($row=mysql\u fetch\u数组($result))
{
echo$row['title'];
回声“
”; 如果($count<10) { 数组推送($titles,$row); } $count++; }
$titles[]=$row['title'];
仅供参考,代码错误地假设将有10行需要迭代。请考虑SQL和foreach循环的限制。@ficuscr是的,我这样做的唯一原因是因为我不确定如何将其保存到数组中,在这种情况下,现在我只需要回显一次:)@user1930227注意,您需要推送
$row
,我之前复制了您的代码(错误…)。
while($row = mysql_fetch_array($result))
  {
      echo $row['title']; 
      $arr[] = $row['title'];  //Store in an array          
      echo "<br>";
  }

  echo "<br><br>";

  //Since you need only 10 values, else this for loop is not required.
  for($index = 1; $index <= 10; $index++) 
      $titles[] = $arr[$index]['title'];  

  unset($arr); //unset the original array if you don't need it anymore.
  print_r($titles); //Print top 10 values
  echo "<br>";
$count = 0;
while($row = mysql_fetch_array($result))
{
  echo $row['title'];
  echo "<br>";
  if ($count < 10)
  {
    array_push($titles, $row);
  }
  $count++;
}