2017-01-30 3 views
0

У меня есть следующий фрагмент кода в цикле foreach.Принимая переменную от foreach, когда каждый раз, когда она выполняет

foreach($_FILES["upload"]["tmp_name"] as $key=>$tmp_name) 
{ 
    $guid = (int) get_input('guid'); 
    $file = new FileCreate($guid); 
    $fileId = $file->guid; 
} 

То, что я хочу, чтобы выполнить это, я хочу взять значение $ FILEID каждый раз, когда Foreach выполняется и сохраняет в переменной массива, можно ли это сделать? Или как мы можем сохранить значение $ fileID при первом выполнении foreach.

+1

'$ _FILES [«загрузить»] [«tmp_name»]' быть' строка '. И '$ fileId [] = $ value;' должен помочь. –

+1

Создайте массив before.' $ files = []; 'и в вашем цикле' $ files [] = $ fileId; ' – cb0

+0

ah haa, @ cb0 ,, Это действительно нецелесообразно :) Спасибо – Tom

ответ

0

Вы можете написать что-то вроде этого:

$myids = array(); 
foreach($_FILES["upload"]["tmp_name"] as $key=>$tmp_name) { 
    $guid = (int) get_input('guid'); 
    $file = new FileCreate($guid); 
    $fileId = $file->guid; 
    array_push($myids, $fileId); 
} 
0

ваш вопрос неправильно, потому что $ _FILES [ «загрузить»] [ «tmp_name»] не является массивом и содержит текстовое значение. Но если вы хотите, чтобы первый элемент массива не существует никакой необходимости делать ничего особенного, легко сделать так:

foreach($arr as $key=>$val){ 
    ... 
} 
$first_item = $arr[0]; 
$first_item_id = $arr[0]->id; 

 Смежные вопросы

  • Нет связанных вопросов^_^