为什么不使用array_push()将pdo查询对象作为参数

时间:2014-10-15 20:56:49

标签: php mysql sql pdo fetch

好奇。将阵列推到另一个阵列时:

array_push($array_1, $array_2);

我得到了通常的行为,但当我推送一个pdo查询 - > fetchAll包含并返回一个数组时,没有任何反应。

array_push($array_1, $query->fetchAll());

我感兴趣的是,如果我将查询对象分配给变量:

$array_fetchAll = $query->fetchAll();
array_push($array_1, $array_fetchAll);

它的工作方式与预期一致。

1 个答案:

答案 0 :(得分:1)

这样做的唯一方法是使用PHP version 5.5.X或更高版本,其中新功能允许直接取消引用功能以访问单个元素。

例如,如果您运行的PHP早于echo $stmt->fetchAll()[0];

,则5.5.x将无效

array_push需要一个数组作为参数,如果您使用较旧的PHP,则必须将$query->fetchAll()存储到变量中。