多维数组在没有附加值时会丢失其索引

试图找到最好的数组结构来遍历多维数组。

要求:

1)“标题”应该可以通过索引找到。

2)“平衡”值应该能够迭代。

观察:

假设以上要求,唯一满足要求的数组是 array_3。array_3 假定“平衡”值捆绑在一个数组中。

问题:

1) 在没有为标题赋值的情况下,标题如何丢失其在 array_2 和 array_3 中的索引?

2) 为什么(在 array_1 和 array_2 中)值 10 作为值附加到“balance”,但值 20 有自己的索引?

3)假设上述要求,是否有更好的方法来构建数组?

我的代码:

<?php


$array_1 = [

  'title',

  'balance' =>

    10,

    20,

];


$array_2 = [

  'title' => '',

  'balance' =>

    10,

    20,

];




$array_3 = [

  'title' => '',

  'balance' => [

    10,

    20,

    ]

];


// Prints


print_r($array_1);

print_r($array_2);

print_r($array_3);


// Access values through echo.


print_r($array_1['balance']) . "\n";

echo $array_2['balance'] . "\n";

echo $array_3['balance'][0] . "\n";

echo $array_3['balance'][1] . "\n";


// Loops


for ($i=0; $i < count($array_3) ; $i++) {

  echo "looping over array:" . $array_3['balance'][$i] . "\n";

}


foreach ($array_3['balance'] as $key => $value) {

  echo "key:" . $key . " " . "value:" . $value . "\n";


}


一只斗牛犬
浏览 92回答 1
1回答

忽然笑

1 - 标题没有丢失它的索引。在第一个数组中,title不是索引,而是一个值。看看结果print_r()...print_r($array_1);给...Array(&nbsp; &nbsp; [0] => title&nbsp; &nbsp; [balance] => 10&nbsp; &nbsp; [1] => 20)和print_r($array_2);给...Array(&nbsp; &nbsp; [title] =>&nbsp;&nbsp; &nbsp; [balance] => 10&nbsp; &nbsp; [0] => 20)使用echo "Title=".$array_2['title'].".".PHP_EOL;只给出一个空白值Title=.2 - 在数组 3 中,您为余额创建一个数组'balance' => [&nbsp; 10,&nbsp; 20,&nbsp;]其他人只有一个值'balance' => 10,20,所以 20 被视为与 处于同一级别balance。3 - 第三个阵列是关于它应该如何完成的最佳方案。
打开App,查看更多内容
随时随地看视频慕课网APP