转换mysql结果数组

时间:2013-02-11 14:10:49

标签: php arrays

我有

$query = "SELECT
PrivilageName,
PrivilageExp,
'true' hakkivarmi
FROM users
natural join usermemberships
natural join groupprivileges
natural join `privileges`
where UserID = '2' ";

$result = mysqli_query($link, $query);

$rows = Array();
while($row = mysqli_fetch_assoc($result)) {
    array_push($rows, $row);
}

print_r($rows);exit;

打印出来

Array
(
    [0] => Array
        (
            [PrivilageName] => AddBuilding
            [PrivilageExp] => Bina Ekleme
            [hakkivarmi] => true
        )

    [1] => Array
        (
            [PrivilageName] => RemoveBuilding
            [PrivilageExp] => Bina Silme
            [hakkivarmi] => true
        )

    [2] => Array
        (
            [PrivilageName] => EditBuilding
            [PrivilageExp] => Bina Düzenleme
            [hakkivarmi] => true
        )

)

我想要的是

Array
(
 AddBuilding => true
 RemoveBuilding => true
 EditBuilding => true
)

我尝试了许多不同的事情但没有成功。我该怎么做?

2 个答案:

答案 0 :(得分:1)

$permissions = array();

while($row = mysqli_fetch_assoc($result)) {
    $permissions[$row['PrivilageName']] = true; // You can use $row['hakkivarmi'] but it looks like it's always true based on your code
}

var_dump($permissions);

答案 1 :(得分:1)

foreach($rows as $key => $value){
    $f[$value['PrivilageName']] = $value['hakkivarmi']
}

var_dump($f);