我有一个从Mysql数据库中检索数据的函数,将值存储在数组中并将该数组返回给调用函数。
$stmt = $dbh->prepare("SELECT img_file_name FROM mjbox_images JOIN mjbox_posts USING (post_id) WHERE post_active = 0 AND post_id = ? ");
$stmt->bindParam(1,$post_id);
$stmt->execute();
$resultarray = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$resultarray[] = $row;
}
return $resultarray;
我试图像这样回显出该数组中的$值:
$resultarray = get_post_data($post_id);
print_r($resultarray);
foreach($resultarray as $key => $value){
echo 'The value is: '. $value . '<br />';
}
但是当我浏览网页时,它只是回显出“数组”。 当我print_r数组时,值肯定在数组中。那么我该如何正确显示这些值?
答案 0 :(得分:4)
有道理。当您将$row
保存到数组时,实际上是在创建一个二维数组。 $row
是一个数组,即使您只选择了一个值。如果您只想保存所选的图像文件名,请将$row['img_file_name']
保存到数组中,而不是$row
。
或者,回复$value['img_file_name']
而不是$value
。
答案 1 :(得分:1)
替换此行
$resultarray[] = $row;
用这个:
$resultarray[] = $row['img_file_name'];
答案 2 :(得分:0)
foreach($resultarray as $row){
foreach($row as $key=>$value) {
echo 'The value is: '. $value . '<br />';
}
}