2017-01-30 3 views
0

Ich habe folgende Stück Code in foreach-Schleife.Nehmen Sie eine Variable von foreach bei jeder Ausführung

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

Was ich ausführen möchte, ist ich den Wert von $ fileId jedes Mal, wenn foreach ausführt und speichert in einer Array-Variablen nehmen wollen, ist es möglich, das zu tun? Oder wie wir den Wert von $ fileID bei der ersten Ausführung von foreach beibehalten können.

+1

'$ _FILES [„upload“] [„tmp_name“]' sein ein 'String '. Und '$ fileId [] = $ value;' sollte helfen. –

+1

Erstellen Sie ein Array vor '$ files = [];' und in Ihrer Schleife '$ files [] = $ fileId;' – cb0

+0

ah haa, @ cb0 ,, Das ist wirklich nicht außergewöhnlich :) Danke – Tom

Antwort

0

Sie so etwas schreiben kann:

$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

Ihre Frage falsch ist, weil $ _FILES [ "upload"] [ "tmp_name"] ist kein Array und enthält einen Textwert. Aber wenn Sie das erste Element eines Arrays haben wollen es keine Notwendigkeit, etwas zu tun, speziell ist, leicht wie folgt tun:

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