簡體   English   中英

如何從While循環產生多維數組?

[英]How To Produce Multidimensional Array From While Loop?

我有這個功能:

function userKids(mysqli $Con, $Parent) {
    $stmt = $Con->prepare('SELECT KidsName, KidsAge, KidsGender FROM Kids WHERE Parent = ?');
    $stmt->bind_param('s', $Username);
    $stmt->execute();

    $Kid = null;
    $Kids = array();
    $stmt->bind_result($Kid, $KidsAge, $KidsGender);
    while($stmt->fetch()) {
        $Kids[] = $Kid;
    }
    return $Kids;
}

目前我的WHILE循環產生這樣的數組:

Array ( [0] => john [1] => jane )

現在,如何生成多維數組,以便我也可以獲取年齡和性別,如下所示:

Array
(
[john] => Array
  (
  [0] => 3
  [1] => male
  )
[jane] => Array
  (
  [0] => 2
  [1] => female
  )
)

更改行:

$Kids[] = $Kid;

至:

$Kids[$Kid] = array($KidsAge, $KidsGender);

我建議您也對第二維使用關聯數組。 所以:

$Kids[$Kid] = array('age' => $KidsAge, 'gender' => $KidsGender);

將代碼結尾替換為:

$stmt->bind_result($KidName, $KidAge, $KidGender);
while($stmt->fetch()) {
    $Kids[$KidName] = array($KidAge,$KidGender);
}
return $Kids;

暫無
暫無

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

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