函数array_pop不会缩短数组

时间:2013-07-27 08:37:18

标签: php

我在mysql db

中正好有这3个值
+-----+-------+
| bID | book  |
+-----+-------+
|   9 | sajid |
|  10 | Salim |
|  11 | Salim |
+-----+-------+

我使用这个PHP代码来检索

            $con=mysql_connect("localhost","root","","library");
            mysql_select_db("library",$con);
            $sqlb = "SELECT * FROM books";
            $queryb = mysql_query($sqlb);
            while ($resultsb[] = mysql_fetch_object ( $queryb ));
            array_pop ( $resultsb ); 
            print_r($resultsb);

并输出此数组

  Array ( 
          [0] => stdClass Object ( [bID] => 9 [book] => sajid ) 
          [1] => stdClass Object ( [bID] => 10 [book] => Salim ) 
      [2] => stdClass Object ( [bID] => 11 [book] => Salim ) 
  )

根据php手册“array_pop()弹出并返回数组的最后一个值,将数组缩短一个元素。” 我的问题是它没有缩短我的数组1个元素,虽然我不需要缩短它给我的数组服务我的目的但是矛盾的是php手册说Array_pop将数组缩短一个为什么它不会发生在这里

问候

AP

1 个答案:

答案 0 :(得分:2)

当您到达结果集的末尾时,fetch函数返回FALSE并将其存储在数组中。 array_pop函数将其从数组中删除,只留下从数据库中提取的项目。