我需要使用数组中的键进行检查。
该数组来自像这样的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'];
屏幕上没有任何内容。为什么不呢?
答案 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?。