【问题标题】:Obtaining data from an array从数组中获取数据
【发布时间】:2016-07-14 15:56:00
【问题描述】:

我有一个包含以下数组的变量 $fileData

array:2 [▼
  "folder1" => array:2 [▼
    0 => "something.png"
    1 => "something.png"
  ]
  "folder2" => array:2 [▼
    0 => "something.png"
    1 => "something.png"
  ]
]

我想要做的是添加文件夹名称(文件夹 1 和文件夹 2)作为选择选项。我正在做一些测试,出于某种原因,我发现很难访问文件夹名称。 如果我这样做了

foreach($fileData as $data) {
    var_dump($data);
}

它将输出folder1和folder2的实际内容,例如

array:2 [▼
  0 => "something.png"
  1 => "something.png"
]

那么在不知道这些名称是什么的情况下,我将如何获取实际的文件夹名称?

谢谢

【问题讨论】:

  • 为什么你不尝试 foreach($fileData as $data => $value) { var_dump($value);}

标签: php arrays


【解决方案1】:

您需要在第一个数组中访问每个出现的名称(索引),因此请使用带有 as 参数的 foreach,像这样

foreach($fileData as $folder => $files) {
    echo "Folder name is $folder\n";
    foreach($files as $file) {
        echo "....Contains $file\n";
    }
}

【讨论】:

  • 信不信由你我确实这样做了,但它没有工作,但现在它似乎工作正常。
【解决方案2】:

您可以使用foreach Looping Construct 循环遍历数组,然后相应地构建您的 Select <option>,如下所示:

<?php

$arrPix     =  [
      "folder1" =>[
        0 => "something.png",
        1 => "something.png",
      ],
      "folder2" => [
        0 => "something.png",
        1 => "something.png",
      ]
];
$select = "<select name='img_folders' id='img_folder' class='form-control img_folders'>" . PHP_EOL;

foreach($arrPix as $folderName=>$arrImg){
    $select .="<option name='{$folderName}'>{$folderName}</option>option";
}
$select .= "</select>" . PHP_EOL;

echo $select;

【讨论】:

    猜你喜欢
    • 2011-05-23
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多