将数组转换为键值对数组

时间:2012-07-12 06:08:17

标签: php arrays key-value

我有一个逗号分隔的字符串,我将其分解为一个数组。如果数组的长度是未知的,并且我想将它变成一个键值对数组,其中数组中的每个元素都有相同的键,我该怎么做?我假设我必须使用array_combine?谁能给我一个使用阵列波纹管的例子? :

例如:

array([0]=>zebra, [1]=>cow, [2]=>dog, [3]=>monkey, [4]=>ape)

成:

array([animal]=>zebra, [animal]=>cow, [animal]=>dog, [animal]=>monkey, [animal]=>ape)

3 个答案:

答案 0 :(得分:5)

您不能对阵列中的每个元素使用相同的键。您需要一个唯一标识符来访问数组的值。什么时候使用动物,应该使用什么价值?你可以做的是制作一个二维数组,你在数组中有一个数组:

array(
    [animals] => array(
        [0]=>zebra, [1]=>cow, [2]=>dog, [3]=>monkey, [4]=>ape
    )
) 

这可以与$array['animals'][0]

一起使用

但是你仍然需要数字或唯一标识符来访问数组的值。

答案 1 :(得分:3)

这样的事情:

$string = 'zebra,cow,dog,monkey,ape';
$array = explode(',', $string);

$arrayReturn['animals'] = $array;

print_r($arrayReturn);

答案 2 :(得分:0)

你不能拥有所有值的相同键,但你可以这样做

  

让我们说你的字符串是

$a = 'dog,ant,rabbit,lion';
$ar = explode(',',$a);
$yourArray = array();
foreach($ar as $animals){
   $yourArray['animals']=$animals;
}

现在你的字符串有多长并不重要,你将把数组作为

  

$ yourArray [ '动物'] [0] = '狗'

     

$ yourArray [ '动物'] [1] = '蚂蚁'

.......等等......