2017-06-19 240 views
1

虽然着名科学家正在研究其他维度,但我试图弄清楚如何使用动态数据填充多维数组。使用数据填充多维数组

我需要添加从一个随机函数计算的未确定数量的值。

function my_random ($min, $max) { 

     $random_var = rand($min, $max); 
     return $random_var; 
    } 

我想我的阵列看起来像这样:

$array_example = [ 
       'id' => $id, 
       'value1' => $value1, 
       'value2' => $value2 

      ]; 

...也许是这样的:

$array[$i] = [ 
       'id' => $id, array(
        'value1' => $value1, 
        'value2' => $value2 
       ) 
     ]; 

我想出一个简单的for循环会做的伎俩所以我试过这个:

for ($i = 1; $i <= $amount; $i++) { 

    $array[$i] = $i; 
    $array[$i] = [ 
      'id' => $i, array(
       'value1' => $value1, 
       'value2' => $value2 
      ) 
     ]; 
} 

......但是它出来都是错误的(从控制台):

string(103) "{"id":2,"value1":[14,{"1":{"id":1,"0":{"value1":[14],"value2":[11]}}},13],"value2":[11,19]}"

for循环似乎嵌套它们。我尝试了不同的函数,希望得到它的正确性:range()获取id,然后用数据,array_push()填充它,甚至尝试合并和合并。

thread使得它看起来很简单:

$array[] = "item"; 
$array[$key] = "item"; 
array_push($array, "item", "another item"); 

但这种方法只会工作来创建索引。

如何动态将这些值插入到每个索引中?我最终需要的是能够访问阵列和它的值如下:

$array[0]["value1"]. 

谢谢。

+0

目前尚不清楚你想要什么确切的输出。有两个预期的输出。代码将产生另一个不同的数组。请明确点。另外'my_random'函数的目的是什么?你没有在任何地方使用它。 –

+0

我在我的代码中使用它,我只是没有在这里插入它。我提到随机函数的原因是为了说明为什么我需要用for循环进行迭代,同时从随机函数中添加日期。因此,对于每个索引(0,1,2),将会有一个随机值需要插入到每个索引中。 –

+0

要获得高质量的答案,您需要发布质量问题。向我们展示你的输入数组的样子。你想要随机元素,元素的随机数还是两者? – mickmackusa

回答

2

关联数组

一种array in PHP的索引数组实际上是一个有序图。地图是一种将值与键关联的类型。这种类型针对多种不同用途进行了优化;它可以被看作是一个数组,列表(向量),散列表(一个映射的实现),字典,集合,堆栈,队列等等。由于数组值可以是其他数组,因此树和多维数组也是可能的。

以下函数有一个可选的整数参数,或defaults to 10,并发起for loop创建associative array()sindexed Array

<!DOCTYPE html><html><head></head><body> 
<?php 
    function createArrayOf($quantity = 10) { 
     $arr = []; 
     for ($i = 0; $i < $quantity; ++$i) { 
      $arr[ $i ] = array( 
       "value_1" => "some value", 
       "value_2" => "another value" 
      ); 
     } 
     return $arr; 
    } 
?> 
<pre><?php var_export(createArrayOf(5)); ?></pre> 
</body></html> 

输出使用var_export()其中:

被构造关于给定变量的信息。它与var_dump()类似,但有一个例外:返回的表示形式是有效的PHP代码。

array (
    0 => 
    array (
     'value_1' => 'some value', 
     'value_2' => 'another value', 
    ), 
    1 => 
    array (
     'value_1' => 'some value', 
     'value_2' => 'another value', 
    ), 
    2 => 
    array (
     'value_1' => 'some value', 
     'value_2' => 'another value', 
    ), 
    3 => 
    array (
     'value_1' => 'some value', 
     'value_2' => 'another value', 
    ), 
    4 => 
    array (
     'value_1' => 'some value', 
     'value_2' => 'another value', 
    ), 
) 
+0

当你知道语法时就很简单。 :) 谢谢! –

+0

@DanSebastian - NP; YW。感谢接受。我已经添加了我承诺的额外细节。快乐的编码! –