2017-01-30 108 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;