2017-01-30 110 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執行,並存儲到一個數組變量,是有可能做到這一點?否則,我們如何在首次執行foreach時保留$ fileID的值。

+1

'$ _FILES [「上傳」] [「tmp_name的值」]'是'字符串'。 ''fileId [] = $ value;'應該有幫助。 –

+1

創建一個數組''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;