打印特定的数组键

时间:2014-12-23 17:53:53

标签: php arrays

我需要使用数组中的键进行检查。

该数组来自像这样的PDO查询

function getProject($proj_id) {
    $database = new Database();
    $database->query( "SELECT * FROM projects WHERE proj_id = '$proj_id' LIMIT 1" );
    $project = $database->resultSet();
    return $project;
}

然后我打印出应该工作的数组。

$project = getProject(1);
print_r($project);

Array ( [0] => Array ( [proj_id] => 73 [proj_name] => Cake )

但是当我尝试从这个数组中打印一个特定的键时:

print_r($project['proj_name'];

屏幕上没有任何内容。为什么不呢?

3 个答案:

答案 0 :(得分:6)

你有两个阵列:

Array ( [0] => Array ( [proj_id] => 73 [proj_name] => Cake )
  ^--this one    ^--and this one      

你需要这样做:

print_r($project[0]['proj_name']);

理想情况可能实际上是在这里改变它:

function getProject($proj_id) {
  $database = new Database();
  $database->query( "SELECT * FROM projects WHERE proj_id = '$proj_id' LIMIT 1" );
  $project = $database->resultSet();
  return $project[0]; //<---added the [0] this line 
}

因为你知道它总会返回一个

答案 1 :(得分:1)

如果你仔细观察,你会发现你有两个嵌套在另一个内的数组。试试print_r($project[0]['proj_name'];

答案 2 :(得分:1)

您在)电话结束时错过了近距离print_r

您在屏幕上看不到任何内容,因为这意味着无法解析文件,并且错误会记录到文件而不是显示在屏幕上。有关如何解决此问题,请参阅How do I get PHP errors to display?