将关联数组转换为索引 [英] Convert associative array into indexed

查看:116
本文介绍了将关联数组转换为索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经看到了一些使用array_values的示例,但是无法完全弄清楚如何使其工作...

Ive seen a few examples by using array_values, but cant quite make out how to get it to work...

我有一个通过POST传递的关联数组,我需要将其转换为索引数组...

I have an associative array thats passed via POST, I need to convert it into a indexed array...

我的print_r($ _ POST)给我这个...我需要将所有这些都放入索引数组中:)

My print_r($_POST) gives me this... I need all of this put into an indexed array :)

Array (
    [fieldnames] => 36771X21X198|36771X21X199|36771X21X200|36771X21X201|36771X21X202 
    [36771X21X198] => 3434343
    [display36771X21X198] => on
    [36771X21X199] => 5656565
    [display36771X21X199] => on 
    [36771X21X200] => 89898989 
    [display36771X21X200] => on 
    [36771X21X201] => 90909090 
    [display36771X21X201] => on 
    [36771X21X202] => 12121212 
    [display36771X21X202] => on 
    [move] => movesubmit 
    [move2] => ONLINE Submit 
    [thisstep] => 1 
    [sid] => 36771 
    [token] => 1234567890
) 

推荐答案

观察这种惊人的方式将您的$_POST转换为数字索引数组:

Observe this amazing way to convert your $_POST into a numerically indexed array:

$numerical = array_values($_POST);


但是,如果您想保留密钥怎么办?也许您想要这样的东西?


but what if you want to preserve your keys? Perhaps you want something like this?

$numerical = array();
$sep = ':';

foreach($_POST as $k=>$v)
{
  $numerical[] = $k.$sep.$v;
}

$ numerical将具有:

$numerical will then have:

Array
(
    [0] => fieldnames:36771X21X198|36771X21X199|36771X21X200|36771X21X201|36771X21X202
    [1] => 36771X21X198:3434343
    [2] => display36771X21X198:on
    [3] => 36771X21X199:5656565
    [4] => display36771X21X199:on
    [5] => 36771X21X200:89898989
    [6] => display36771X21X200:on
    [7] => 36771X21X201:90909090
    [8] => display36771X21X201:on
    [9] => 36771X21X202:12121212
    [10] => display36771X21X202:on
    [11] => move:movesubmit
    [12] => move2:ONLINE Submit
    [13] => thisstep:1
    [14] => sid:36771
    [15] => token:1234567890
)


或者,对于我的最后一个示例:

or, for my final example:

$fieldnames_original = explode('|', $_POST['fieldnames']);
$fieldnames_actual = array();
$values = array();

foreach($_POST as $k=>$v)
{
  if($k!='fieldnames')
  {
    $fieldnames_actual[] = $k;
    $values[] = $v;
  }
}

这将设置3个数组:

$ fieldnames_original:

$fieldnames_original:

Array
(
    [0] => 36771X21X198
    [1] => 36771X21X199
    [2] => 36771X21X200
    [3] => 36771X21X201
    [4] => 36771X21X202
)

$ fieldnames_actual:

$fieldnames_actual:

Array
(
    [0] => 36771X21X198
    [1] => display36771X21X198
    [2] => 36771X21X199
    [3] => display36771X21X199
    [4] => 36771X21X200
    [5] => display36771X21X200
    [6] => 36771X21X201
    [7] => display36771X21X201
    [8] => 36771X21X202
    [9] => display36771X21X202
    [10] => move
    [11] => move2
    [12] => thisstep
    [13] => sid
    [14] => token
)

和$ values

Array
(
    [0] => 3434343
    [1] => on
    [2] => 5656565
    [3] => on
    [4] => 89898989
    [5] => on
    [6] => 90909090
    [7] => on
    [8] => 12121212
    [9] => on
    [10] => movesubmit
    [11] => ONLINE Submit
    [12] => 1
    [13] => 36771
    [14] => 1234567890
)

这篇关于将关联数组转换为索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆