doushu7588 2017-01-30 11:55
浏览 37
已采纳

PHP / MySql更改数组格式

I have this array named $myArray:

Array ( 
[0] => bb 
[1] => kk
[2] => ll ) 

On which I´m querying with:

$sql = ("SELECT username FROM Users WHERE username IN ('" .   implode("','",$myArray) . "')   AND status > 0 ");
$result = $conn->query($sql)->fetchAll(PDO::FETCH_ASSOC);
print_r ($result);

What I get is:

Array ( 
[0] => Array ( [username] => bb ) 
[1] => Array ( [username] => kk ) )

But what I want to get is:

Array ( 
[0] => bb 
[1] => kk ) )

What can I do to achieve this?

Thanks in advance!

  • 写回答

3条回答 默认 最新

  • dongshan1036 2017-01-30 11:59
    关注

    The printed array is in the format in which it should be.

    This is because that you may select more than one column in an SQL query, so that each row should be an array.

    What you can do is simply traverse the array again and re-format the array to the shape you want.

    foreach ($result as &$value){
        $value = $value['username'];
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?