我有一個函數,它檢查一個查詢,然後使用一個while循環提取數據,我想返回這個數據,但我仍然希望它增加,但我讀到返回終止一個函數,從而使它無法增加。有沒有解決的辦法?循環中的函數返回
$this->messages = array();
while($row = $data) {
$this->messages[$i]['id'] = $row['id'];
$this->messages[$i]['title'] = $row['title'];
$this->messages[$i]['message'] = $row['message'];
$i++;
這個循環的功能,我想繼續下去,直到循環完成,但裏面我就不能返回任何值..有一個解決此問題?
謝謝
編輯:
<?php
function Message($username){
$query = "SELECT * FROM msg WHERE `to` = '".$this->userid."' && `to_viewed` = '0' && `to_deleted` = '0' ORDER BY `created` DESC";
$stmt = $this->connection->prepare($query);
$stmt->execute();
$data = $stmt->fetch(PDO::FETCH_ASSOC);
$num_rows = $stmt->fetchColumn();
if($num_rows) {
$i=0;
$this->messages = array();
while($row = $data) {
// want to return these 3 for each result
$this->messages[$i]['id'] = $row['id'];
$this->messages[$i]['title'] = $row['title'];
$this->messages[$i]['message'] = $row['message'];
$i++;
}
} else {
return 1;
}
}
?>
完成一個循環後,有很多方法可以返回數據,但您在這裏沒有非常清楚您的目標:您是否可以澄清「我仍然希望它增加」的含義或者給出更多的代碼圍繞你的功能?你想要返回哪些值? – davidf2281
@ davidf2281對不起 – user2693086
@ user2693086可能一個臨時變量有效嗎?將循環中的數據保存在一個新變量中,然後再遞增。 –