数组形成 - PHP

时间:2017-05-25 13:50:04

标签: php mysql wordpress

我正在运行SQL查询以获取当前登录用户的帖子ID。

我的查询按设计工作。

$userGadgets = $wpdb->get_results("SELECT item_id FROM mg_gd_mylist WHERE user_id = '$user_id'", ARRAY_A);

我面临的问题与返回的数组有关。

Array
(
    [0] => Array
        (
            [item_id] => 10318
        )

    [1] => Array
        (
            [item_id] => 10378
        )

    [2] => Array
        (
            [item_id] => 10566
        )

    [3] => Array
        (
            [item_id] => 10608
        )

    [4] => Array
        (
            [item_id] => 10614
        )

    [5] => Array
        (
            [item_id] => 10648
        )

    [6] => Array
        (
            [item_id] => 10292
        )

    [7] => Array
        (
            [item_id] => 10274
        )

    [8] => Array
        (
            [item_id] => 10306
        )

    [9] => Array
        (
            [item_id] => 9312
        )

    [10] => Array
        (
            [item_id] => 10652
        )

    [11] => Array
        (
            [item_id] => 10324
        )

    [12] => Array
        (
            [item_id] => 10342
        )

    [13] => Array
        (
            [item_id] => 10696
        )

    [14] => Array
        (
            [item_id] => 10672
        )

    [15] => Array
        (
            [item_id] => 10372
        )

)

我想要制作的模型如下

Array
(
    [0]  => 140 //The item_id string as an integer


    [1] => 141


    [2] => 142

)

关于那个的任何想法?提前谢谢。

2 个答案:

答案 0 :(得分:0)

检查此代码,猜猜你想要单个数组结果

检查array_reduce ()内置函数

<?php
$your_array = array(0 => array('item_id' => 3160), 1 => array('item_id' => 13123), 2 => array('item_id' => 234234), 3 => array('item_id' => 2123));
echo "<pre>";
print_r($your_array);
$convert_array = array_map('intval', array_column($your_array, 'item_id'));
echo "<pre>";
print_r($convert_array);

然后你原来的数组:

Array
(
    [0] => Array
        (
            [item_id] => 3160
        )

    [1] => Array
        (
            [item_id] => 13123
        )

    [2] => Array
        (
            [item_id] => 234234
        )

    [3] => Array
        (
            [item_id] => 2123
        )

)

并输出:

Array
(
    [0] => 3160
    [1] => 13123
    [2] => 234234
    [3] => 2123
)

答案 1 :(得分:0)

为什么这会是一个糟糕的输出?

只需使用:

array = [];
foreach($arrayReturned as $i=>$row){
   // you get every data with $row['item_id'], for example
   array[] = $row['item_id'];
}