I am trying to get the last element of the request array in foreach loop that would look something like this:
array:5 [▼
0 => "files/uploads/articles/bear_PNG1183.png"
1 => "files/uploads/articles/bear_PNG1189.png"
2 => "files/uploads/articles/bear_PNG1188.png"
3 => "files/uploads/articles/bear_PNG1182 (1).png"
4 => "files/uploads/articles/bear_PNG1190.png"
]
But I can't use the end()
function because then I get:
Only variables should be passed by reference
This is how foreach function looks like:
foreach ($request->get('uploadedItems') as $file) {
//make a new directory for the article and move all the uploaded files to it
$filePathArr = explode('/', $file);
$lastItem = array_pop($filePathArr);
array_push($filePathArr, $article->id, $lastItem);
$newPath = implode('/', $filePathArr);
$articleDirectory = $this->destinationPath.'/'.$article->id;
if(!File::exists($articleDirectory))
File::makeDirectory($articleDirectory, 0755, true);
File::move(public_path($file), public_path($newPath));
if(end($request->get('uploadedItems')) == $file){
dd($file);
}
Media::create(['path' => $newPath, 'article_id' => $article->id]);
}