2016-07-14 2 views
1

У меня есть переменная $ FILEDATA, который содержит следующий массивПолучение данных из массива

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

То, что я пытаюсь сделать, это добавить имена папок (Folder1 и folder2) в качестве выбора опций. Я немного тестирую, и по некоторым причинам мне трудно получить доступ к именам папок. Если я

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

Он будет выводить действительное содержание folder1 и folder2 например

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

Как я могу получить фактические имена папок, не зная, что это за имена?

Благодаря

+1

Почему вы не попробуете foreach ($ fileDat a как $ data => $ value) {var_dump ($ value);} –

ответ

3

Вы должны получить доступ к имени (индекс) каждому вхождению первого массива так что используйте Еогеасп с обеими as параметров, как этот

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

Верьте или нет, я сделал это, и он не работал, но теперь он работает нормально. –

+0

Aint life a beach – RiggsFolly

1

Вы можете просто цикл по массиву, используя foreach Looping Construct, а затем создайте свой выбор <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; 
Смежные вопросы