如何从函数

时间:2017-08-23 07:14:29

标签: php arrays

所以我在一个函数中获取我的while循环的所有结果时遇到了问题。当我打印函数的结果时,它只需要1个结果而不是我需要的5-10个。有代码:

function  display_post_edits($post_id,$post_name){
	global $connect;
	$result = array();
	$rev = sanitize('revision');
	$post_name = '$post_id-revision-v1'; //sanitize this soon!!
	$query = mysqli_query($connect,"SELECT post_author,post_date FROM posts WHERE post_type ='$rev' AND post_name = '$post_id-revision-v1'");
	while ($row = mysqli_fetch_assoc($query)){
		$result[]= $row;
	}
  return $result;
}
//outside of function
$display_edits = display_post_edits(get_post_id($_POST['subject']),$_POST['subject']);
print_r($display_edits);

所以我试图从while循环获取所有结果并将其附加到$ display_edits,当我需要例如发布日期时,我将使用$ display_edits ['post_date']。

到目前为止,我有一些尝试: foreach($result as $row){ return implode($result[0]); }

返回1个结果,因为$ return正在打印像http://prntscr.com/gby0xu这样的数组(数组中的数组),所以我需要定义一个索引。我需要定义索引的内容。

    while ($row = mysqli_fetch_assoc($query)){
    $result = array(
    'post_author' =>$row'post_author',
    'post_date'   =>$row'post_date'
     );
  }

再次打印1个结果... 如果你还需要更多东西,或者我错过了一些可以在这里给出的东西,请说出什么,我会添加它! 提前谢谢!

1 个答案:

答案 0 :(得分:1)

foreach应该是这样的:

foreach($result as $row){
    return implode($row[0]);
}

应该使用$row而不是$result