如何在没有索引的情况下提取数组的键和值

时间:2013-04-08 03:09:50

标签: php arrays extract

我想从数组中提取数据(带有键和值的原始数组)。在我提取数组后,我想要两个新数组,第一个只有键,第二个只有值,两个都没有索引(参见代码示例)。

// original array 
$array = array(
    "name1"=>500
   ,"name2"=>400
   ,"name3"=>300
   ,"name4"=>200
   ,"name5"=>100
);

// after extraction
$array1 = array('name1','name2','name3','name4','name5');
$array2 = array(500,400,300,200,100);

// not like this
// $array1 = array(0=>'name1',1=>'name2',2=>'name3',3=>'name4',4=>'name5);
// $array2 = array(0=>500,1=>400,2=?300,3=>200,4=>100);

2 个答案:

答案 0 :(得分:14)

$array1 = array_keys($array);
$array2 = array_values($array);

好的,你可以阅读here

  

在计算机科学中,数组数据结构或简单地数组是a   数据结构由一组元素组成(值或   变量),每个由至少一个数组索引或键标识。一个   存储数组,以便可以计算每个元素的位置   从它的索引元组乘以数学公式。

答案 1 :(得分:5)

$keys = array_keys($array);
$values = array_values($array);

但请注意,就{PHP}而言,array(0=>'item')array('item') 完全相同。没有索引的php数组项就没有了。如果您不提供索引,PHP将以静默方式添加数字索引。