【问题标题】:Populate multidimensional array with data用数据填充多维数组
【发布时间】:2023-03-25 23:30:01
【问题描述】:

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

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

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"].

谢谢。

【问题讨论】:

  • 不清楚你想要什么确切的输出。有两个预期的输出。并且代码将产生另一个不同的数组。请明确点。 my_random 函数的目的是什么?你没有在任何地方使用它。
  • 我在我的代码中使用它,我只是没有在这里插入它。我提到随机函数的原因是为了说明为什么我需要在从随机函数中添加日期时使用 for 循环进行迭代。所以对于每个索引(0、1、2),都会有一个随机值需要插入到每个索引中。
  • 要获得高质量的答案,您需要发布高质量的问题。向我们展示您的输入数组的样子。您想要随机元素、随机数量的元素,还是两者都需要?

标签: php arrays multidimensional-array


【解决方案1】:

关联数组的索引数组

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',
    ),
)

【讨论】:

  • 知道语法就这么简单。 :) 谢谢!
  • @DanSebastian - NP; YW。感谢接受。我已经添加了我承诺的那些额外细节。编码愉快!
猜你喜欢
  • 2011-01-11
  • 1970-01-01
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 2015-06-29
相关资源
最近更新 更多