从查询数组中获取第一个元素

时间:2013-02-20 18:17:44

标签: php mysql parameter-passing

  $post= ('SELECT * FROM posts WHERE id = :id LIMIT 1 ', array('id' => $_GET['id']),$conn);
$view_path = 'views/single.view.php';
require'views/layout.php';

我知道$ post变量是一个数组,如果我在我的single.view.php上打印_r?id = 1

我可以在下面得到结果。

Array
(
    [0] => Array
        (
            [id] => 1
            [0] => 1
            [title] =>  title of
            [1] => first post
            [body] =>  body of first  post
            [2] =>  body of first  post
        )

) 

如果我写

,请单击.view.php
echo $post**[0]**['title'];

我可以获得头衔。

然而,当我通过编写

在我的single.php上尝试这个时
$post= ('SELECT * FROM posts WHERE id = :id LIMIT 1 ', array('id' => $_GET['id']),$conn)**[0]**;

我得到了

Parse error: parse error in /Library/WebServer/www/single.php on line 10

这听起来像这不是一个你无法获得它的元素的数组。

所以我的问题是如何获得我的$ post变量的第一个元素。而不是将值发送到single.view.php

2 个答案:

答案 0 :(得分:1)

您无法在PHP<版本的PHP中访问类似的数组。 5.4。你必须做很长的事情。

https://wiki.php.net/rfc/functionarraydereferencing

答案 1 :(得分:1)

在PHP 5.4之前,您无法直接从函数中检索数组元素:

$val = myArray($params)[0]; // wrong

但是,你可以这样做:

$arr = myArray($params);
$val = $arr[0];

$val = current(myArray($params));

current() Reference