簡體   English   中英

PHP 在 function 內填充數組

[英]PHP populate array inside a function

我的 php 代碼有一個小問題。

我已經為客戶創建了一個 class,向我返回一個包含所有客戶的列表。 問題是當我從外部調用 function 時,它沒有顯示 clietsList。

<?php 

$returnData = array();

class Clients
{
     public function readAll(){
        $query = "SELECT * FROM clients";
        $result = $this->con->query($query);
        if ($result->num_rows > 0){
            while ($row = $result->fetch_assoc()){
                $returnData['clientsList'][] = $row;
            }
            return $returnData;
        }
        else{
            echo "No found records";
        }
    }
}


if ($auth->isAuth()){
    $returnData['message'] = "you are loggedin, so is ok";
    $clientsObj = new Clients();
    $clientsObj->readAll();
}

echo json_encode($returnData);
?>

結果就是這樣,但沒有 clietslist

{
  "message": "you are loggedin, so is ok"
}

我在哪里做錯了? 感謝您的回答。 我想學習 php,我是初學者。 提前致謝。

您需要在變量中獲取 function 的返回值:

$returnData['message'] = "you are loggedin, so is ok";
$clientsObj = new Clients();
$returnData['clients'] =    $clientsObj->readAll();

第一行的$returnData returnData 與 function 中的$returnData returnData 不同。 readAll function 中的$returnData returnData 將是一個新變量。

我建議您閱讀 php 中的變量 scope。 https://www.php.net/manual/en/language.variables.scope.php

現在,您需要將 function 的返回值存儲在這樣的變量中

$returnData['message'] = "you are loggedin, so is ok";
$clientsObj = new Clients();
$clientListArray =  $clientsObj->readAll(); //store returned value in a variable
$returnData['clientsList'] = $clientListArray['clientsList'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM