获取从查询阵列
$post= ('SELECT * FROM posts WHERE id = :id LIMIT 1 ', array('id' => $_GET['id']),$conn);
$view_path = 'views/single.view.php';
require'views/layout.php';
第一要素我知道$后变量是一个数组,如果我print_r的是我的single.view.php?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
)
)
等single.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
这听起来好像这不是一个数组,你不能获得第一的它的元素。。
所以我的问题是我如何能得到的第一个元素发送值$我后variable.instead到single.view.php
此前PHP 5.4,你不能直接从函数检索数组元素:
$val = myArray($params)[0]; // wrong
但是,你可以这样做:
$arr = myArray($params);
$val = $arr[0];
或
$val = current(myArray($params));
我使用'PHP 5.4.3'和'$ val = myArray($ params)[0];'工作得很完美。 – vikingmaster 2013-02-20 18:25:46
是的,但显然OP没有使用PHP 5.4,或者它可以工作。我澄清了我的答案。 – 2013-02-20 18:27:11
您不能访问数组一样,在PHP 5.4 <版本。你必须走很长的路。
在那里做星号是什么? – PeeHaa 2013-02-20 18:19:09
只是为了指出[0]。没什么特别的。 – 2013-02-20 18:19:58
这是什么[0];在第10行的末尾? – 2013-02-20 18:20:49