php - 在 PHP 中使用另一个数组构建多维数组

标签 php arrays

我尝试构建一个数组。我不想写类似 $array[3][5][8] = [] 的东西。因为第一个数组的计数可以改变,这里是 3,但也可以是 9 或 12。值也可以改变,但它们始终是唯一的数字。我希望有人知道更好的方法。谢谢。

// First Array, which I have. The count and the content can change.
array(3) {
  [0]=>
  string(1) "3"
  [1]=>
  string(1) "5"
  [2]=>
  string(1) "8"
}

// Second Array, thats the goal.
array(1) {
  [3]=>
  array(1) {
    [5]=>
    array(1) {
      [8]=>
      array(0) {
      }
    }
  }
}

最佳答案

此代码将解决您的问题:

$array = [3,5,8,9]; // your first array 

$newArray = null;
foreach ($array as $value) {
    if($newArray === null) {
        $newArray[$value] = [];
        $ref = &$newArray[$value];
    }
    else {
        $ref[$value] = [];
        $ref = &$ref[$value];
    }
}

$newArray - 保存您想要的结果

关于php - 在 PHP 中使用另一个数组构建多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40397341/

相关文章:

javascript - AJAX 不发送变量写入 txt

c - 访问作为 void 指针段错误传递的 int 数组

arrays - Ruby 注入(inject)直到总和超过设定值并返回发生这种情况的索引

检查正确的数组长度是否是 C 中的 malloc

Ruby 数组 - 是否存在左侧元素之和等于右侧元素之和的元素?

javascript - 在 PHP 中更新 2 个 MySQL 表

php - 如何通过数据库中的 Bootstrap 创建动态模态窗口?

php - 如何在 Slim 3.5 中为 Twig 添加全局变量?

php - Laravel 在 ajax 成功调用另一个带有数据的 Controller 后

java - 如何将数组从 java android Activity 类传递到普通 java 类?