创建多维数组

时间:2011-07-02 02:40:37

标签: php arrays

我有这样的数组:$test = array(20, 30, 40);

我想使用这些值设置多维数组:$example[20][30][40] = 'string'

我该怎么做?

注意:“20,30,40”只是一个例子,我的程序会打印一些整数,我想用这些值设置一个多维数组,它可以超过3个值。

5 个答案:

答案 0 :(得分:1)

你可以这样做:

$example[$test[0]][$test[1]][$test[2]] = 'string'

或者,如果数组的大小是可变的,则需要执行递归函数来填充数组。

function fill_up($content, $value){
    $index = array_shift($content);
    if(count($content)){
        return array($index => fill_up($content, $value));
    } else {
        return array($index => $value);
    }
}

$example = array(20,30,40);
$value = 'test';
var_dump(fill_up($example, $value));

答案 1 :(得分:0)

您可以简单地写一下:

 $example[19][29][39] = 'string'

不要忘记第一个元素是0而不是1.这应该有用。

答案 2 :(得分:0)

看这里:

http://php.net/manual/en/language.types.array.php

实施例:

$arr = array("foo" => "bar", 12 => true);

echo $arr["foo"]; // bar echo $arr[12]; // 1

说明:

  

PHP中的数组实际上是一个有序的映射。地图是一种关联的类型   键的值。此类型针对多种不同用途进行了优化;有可能   被视为数组,列表(向量),哈希表(一个实现的   地图),字典,集合,堆栈,队列,可能还有更多。作为数组   值可以是其他数组,树和多维数组也是   可能的。

这可以扩展到n维。它相当于数组中的数组:

2-D阵列示例:

$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));

echo $arr["somearray"][6]; // 5 echo $arr["somearray"][13]; // 9 echo $arr["somearray"]["a"]; // 42

'希望有所帮助!

答案 3 :(得分:0)

当14mo似乎已经到了,你不能在PHP中创建一个空数组。这不是一个阵列。这是一张地图。你当然可以使用那些输入值制作一个荒谬的多维地图,但这似乎......完全没用。

答案 4 :(得分:0)

<?php
$example = array();
$test = array(20, 30, 40);
foreach($test as $key=>$value)
{
   $example[$value] = $test;
}
print_r($example);exit;

?>