具有动态值的动态数组变量

时间:2017-10-14 05:19:41

标签: php arrays

我太麻烦了。我需要下面的数组类型: -

$val = "abc";

$arr1["besk"] = $val
$arr2["besk"] = $val
     .    
     .
$arr15["besk"] = $val

我在下面尝试过: -

for($i = 1; $i<16; $i++)
{
   $arr.$i["besk"] = $val
}

这里我 $ val 。所以不要担心。但阵列没有正确创建。任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:3)

首先将数组定义为字符串 像

$arr = 'arr';

然后使用foreach 像

for($i = 1; $i<16; $i++)
  {
      ${$arr.$i}["besk"] = $val;
 }

答案 1 :(得分:2)

您需要使用变量变量(不推荐)

for($i = 1; $i<16; $i++)
{
    ${"arr".$i}["besk"] = $val
}

编辑:@CBroe对他的评论是正确的,你应该使用数组。因此,最好的解决方案是创建一个二维数组,如下所示:

$arr = [];
for($i = 0; $i<15; $i++)
{
    $arr[$i]["besk"] = $val
}

唯一的区别是你的数组索引现在从0开始,如果你想拥有数组的第三个值,你需要这个命令$arr[2]["besk"]

答案 2 :(得分:1)

使用它非常简单:

 for($i = 1; $i<16; $i++)
 {
      ${$arr.$i}["besk"] = $val
 }

答案 3 :(得分:1)

使用这种方法:

for($i = 1; $i<16; $i++)
{
    ${$arr.$i}["besk"] = $val;
}

答案 4 :(得分:1)

添加新变量

$val = "abc";
$arrName = "arr"; //this one
$arr1["besk"] = $val
$arr2["besk"] = $val
     .    
     .
$arr15["besk"] = $val

并称之为

for($i = 1; $i<16; $i++)
 {
      ${$arrName.$i}["besk"] = $val
 }

PS。你没有创建数组,你只需创建15个带有1个索引的数组变量(“besk”索引)