打印特定的数组键

Rob*_*els 2 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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

Array ( [0] => Array ( [proj_id] => 73 [proj_name] => Cake )
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从数组中打印特定的键时,如下所示:

print_r($project['proj_name'];
Run Code Online (Sandbox Code Playgroud)

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

dav*_*ave 6

你有两个数组:

Array ( [0] => Array ( [proj_id] => 73 [proj_name] => Cake )
  ^--this one    ^--and this one      
Run Code Online (Sandbox Code Playgroud)

你需要这样做:

print_r($project[0]['proj_name']);
Run Code Online (Sandbox Code Playgroud)

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

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 
}
Run Code Online (Sandbox Code Playgroud)

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