2016-01-26 118 views
0

我已經實現了這一點,它如預期中的函數返回一個數組,像這樣:你如何返回一個數組,而不是一個對象

public function get_events() 
    { 


     $query = "SELECT * FROM events;"; 
     if($stmt = mysqli_prepare($this->Database, $query)) 
     { 
      mysqli_stmt_bind_param($stmt, "s", $param); 
      mysqli_stmt_execute($stmt); 
      $resultObject = mysqli_stmt_get_result($stmt); 
      mysqli_stmt_close($stmt); 
     } 

     $myArray = array(); 
     $size = mysqli_num_rows($resultObject); 
     for($i = 0; $i < $size; $i++) 
     { 
      $myArray[$i] = mysqli_fetch_array($resultObject, MYSQLI_ASSOC); 
     } 

     echo '<pre>'; 
     print_r($myArray); 

    } 

/* CALL */ 
$Events = new Events(); 
$Events->get_events(); 

數組顯示爲我所期望的。

然而,當我將其設置爲 '迴歸$ myarray的',而不是 'print_r的',並再次調用該函數返回的是:

/* CALL */ 
$Events = new Events(); 
$Events->get_events(); 
echo '<pre>'; 
print_r($Events); 

這是返回 - >

Events Object 
    (
    [Database] => mysqli Object 
     (
      [affected_rows] => -1 
      [client_info] => mysqlnd 5.0.11-dev - 20120503 - $Id: f373ea5dd5538761406a8022a4b8a374418b240e $ 
      [client_version] => 50011 
      [connect_errno] => 0 
      [connect_error] => 
      [errno] => 0 
      [error] => 
      [error_list] => Array 
       (
       ) 

      [field_count] => 10 
      [host_info] => localhost via TCP/IP 
      [info] => 
      [insert_id] => 0 
      [server_info] => 5.6.21 
      [server_version] => 50621 
      [stat] => Uptime: 100448 Threads: 1 Questions: 1057 Slow queries: 0 Opens: 124 Flush tables: 1 Open tables: 83 Queries per second avg: 0.010 
      [sqlstate] => 00000 
      [protocol_version] => 10 
      [thread_id] => 186 
      [warning_count] => 0 
     ) 

我希望能夠返回一個數組,以便我可以在多個實例中使用該查詢。而不是在函數中回顯html,並且必須在其他地方對相同的數據重複相同的查詢。

+1

您正在打印的對象$事件,如果你想你可以print_r($ events-> get_events())或者只是把它放在一個變量。 – ClearBoth

回答

5
/* CALL */ 
$Events = new Events(); 
$myArray = $Events->get_events(); 
echo '<pre>'; 
print_r($myArray); 

您必須將輸出分配給一個變量。

相關問題