Php 改变嵌套数组中的数据

Php 改变嵌套数组中的数据,php,wordpress,formidable,Php,Wordpress,Formidable,下面是嵌套的数据数组,它来自Wordpress Proplugin表单条目数据库表。我想重新格式化它,这样我就可以在Wordpress WP_list_表中使用它,但我无法确定如何更改最里面的嵌套数组。我需要将每一行的格式设置为'product\u id'=>'4080', Array ( [30] => Array ( [user_id] => 2

下面是嵌套的数据数组,它来自Wordpress Proplugin表单条目数据库表。我想重新格式化它,这样我就可以在Wordpress WP_list_表中使用它,但我无法确定如何更改最里面的嵌套数组。我需要将每一行的格式设置为
'product\u id'=>'4080',

            Array (
                [30] => Array (
                    [user_id] => 2
                    [product_id] => 4080
                )
                [31] => Array (
                    [user_id] => 5
                    [product_id] => 2942
                )
                [32] => Array (
                    [user_id] => 4
                    [product_id] => 9630
                )
                [33] => Array (
                    [user_id] => 3
                    [product_id] => 2542
                )
                [34] => Array (
                    [user_id] => 7
                    [product_id] => 1234
                )
            )
用于生成数组的代码:

            global $wpdb;

            //Retrieve the bids from the database.      
            $form_entries = $wpdb->get_results('SELECT * FROM '. $wpdb->prefix .'frm_item_metas WHERE field_id in (145,147)');

            $data = array();

            foreach ( $form_entries as $meta ) {

                if ( ! isset($data[$meta->item_id])){

                    $data[$meta->item_id] = array();

                }

                $data[$meta->item_id][] = $meta->meta_value;

            }

            //rename the array keys
            foreach( $data as &$new_values ) {
              $new_values['user_id'] = $new_values[0]; unset( $new_values[0] );
              $new_values['product_id'] = $new_values[1]; unset( $new_values[1] );
            }
            unset($new_values);

        }
我试过在strReplace和introde()上乱搞,但我真的不知道自己在做什么。如果有人能帮忙,我将不胜感激

编辑: 所需阵列:

            Array (
                [30] => Array (
                    'user_id' => '2',
                    'product_id' => '4080',
                )
                [31] => Array (
                    'user_id' => '5',
                    'product_id' => '2942',
                )...

数组中没有方括号,这就是print\r在数组中标记键的方式。据我所知,数组的格式是您想要的

为了更好地理解这个问题,这里有一些建议。。。我创建了一个数组

$test = array(
    30 => array( 'user_id' => '2', 'item_id' => '4080' ), 
    31 => array( 'user_id' => '5', 'item_id' => '2942' ), 
);
这就是
print\r($test)
使其看起来像:

Array
(
    [30] => Array
        (
            [user_id] => 2
            [item_id] => 4080
        )

    [31] => Array
        (
            [user_id] => 5
            [item_id] => 2942
        )

)
array(2) {
  [30]=>
  array(2) {
    ["user_id"]=>
    string(1) "2"
    ["item_id"]=>
    string(4) "4080"
  }
  [31]=>
  array(2) {
    ["user_id"]=>
    string(1) "5"
    ["item_id"]=>
    string(4) "2942"
  }
}
这就是var_export($test)使其看起来的样子:

array (
  30 => 
  array (
    'user_id' => '2',
    'item_id' => '4080',
  ),
  31 => 
  array (
    'user_id' => '5',
    'item_id' => '2942',
  ),
)
这就是var_dump($test)让它看起来的样子:

Array
(
    [30] => Array
        (
            [user_id] => 2
            [item_id] => 4080
        )

    [31] => Array
        (
            [user_id] => 5
            [item_id] => 2942
        )

)
array(2) {
  [30]=>
  array(2) {
    ["user_id"]=>
    string(1) "2"
    ["item_id"]=>
    string(4) "4080"
  }
  [31]=>
  array(2) {
    ["user_id"]=>
    string(1) "5"
    ["item_id"]=>
    string(4) "2942"
  }
}

数组是一种为键赋值的数据结构;它不是通过显示该结构表示形式的函数运行时所看到的字符串。

我不清楚您想要什么,您能用所需的数组编辑您的问题吗?感谢Anke的解释。这意味着我的问题一定是因为别的原因。