【问题标题】:Slice an array with an inline PDO query使用内联 PDO 查询对数组进行切片
【发布时间】:2017-01-11 16:10:30
【问题描述】:

我正在尝试对数组进行切片,但出现错误“array_slice() 期望参数 1 为数组

将不胜感激!

    foreach(array_slice(($pdo->query($query)), 0, 3) as $row_Results) {
       $pic_id = $row_Results['pic_id'];    

【问题讨论】:

  • 那是因为$pdo->query($query) 在成功时返回一个 PDOStatement 对象,而不是一个数组。 RTM,http://php.net/manual/en/pdo.query.php
  • 嗯,这个错误看起来很明显。试试var_dump($pdo->query($query));,你会看到PDO::query返回一个对象,正如here解释的那样。

标签: php arrays pdo


【解决方案1】:

对 SQL 查询返回的数组进行切片是没有意义的 - 这应该在查询本身中完成

 foreach($pdo->query("$query LIMIT 3")) as $row_Results) {
   $pic_id = $row_Results['pic_id'];  

会成功的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 2018-12-05
    • 2022-01-18
    • 2020-02-27
    相关资源
    最近更新 更多