我想将$datasigned字符串值添加到现有的$data值中,我应该怎么做?
public function index(Request $request){
$data = Apidata::select('file')->where('nim','=',$request->nim)->get();
foreach($data as $berkas){
$url = $berkas->file;
$berkas = (array)$berkas;
// $filename = basename($url);
// $file = storage_path().'/berkas/'.$filename;
$pathfile = pathinfo($url);
$datasigned = $pathfile['dirname'].'/'.$pathfile['filename'].'_signed.'.$pathfile['extension'];
$berkas[]["file"] = $datasigned;
}
return $data;
}
我想你使用的是laravel,所以也许这个会帮助你。
public function index(Request $request){
$data = Apidata::select('file')->where('nim','=',$request->nim)->get()->toArray();
foreach($data as $berkas){
$url = $berkas["file"];
// $filename = basename($url);
// $file = storage_path().'/berkas/'.$filename;
$pathfile = pathinfo($url);
$datasigned = $pathfile['dirname'].'/'.$pathfile['filename'].'_signed.'.$pathfile['extension'];
$berkas["file"]= $datasigned
}
return $data;
或者你可以试试:
public function index(Request $request){
$data = Apidata::select('file')->where('nim','=',$request->nim)->get();
foreach($data as $berkas){
$url = $berkas->file;
$berkas = (array)$berkas
// $filename = basename($url);
// $file = storage_path().'/berkas/'.$filename;
$pathfile = pathinfo($url);
$datasigned = $pathfile['dirname'].'/'.$pathfile['filename'].'_signed.'.$pathfile['extension'];
$berkas["file"] = $datasigned
}
return $data;
如果你不想覆盖 "file",你可以简单地替换为 $berkas["file"] = $datasigned
与 $berkas[]["file"] = $datasigned
如果你想把它添加到数据,你必须创建一个新的数组是更简单的,做一些像。
public function index(Request $request){
$data = Apidata::select('file')->where('nim','=',$request->nim)->get()->toArray();
$newDaata = [];
foreach($data as $berkas){
$url = $berkas["file"];
// $filename = basename($url);
// $file = storage_path().'/berkas/'.$filename;
$pathfile = pathinfo($url);
$datasigned = $pathfile['dirname'].'/'.$pathfile['filename'].'_signed.'.$pathfile['extension'];
$berkas["file"]= $datasigned
array_push($newData , $berkas);
}
return $newData;
Hope is yusefull
谢谢@Troaca Mihai!
public function index(Request $request){
$data = Apidata::select('file')->where('nim','=',$request->nim)->get()->toArray();
$newData = [];
foreach($data as $berkas){
$url = $berkas["file"];
// $filename = basename($url);
// $file = storage_path().'/berkas/'.$filename;
$pathfile = pathinfo($url);
$datasigned = $pathfile['dirname'].'/'.$pathfile['filename'].'_signed.'.$pathfile['extension'];
$berkas["file"]= $datasigned;
array_push($newData , $berkas);
}
$combinedData = array_merge($data,$newData);
return $combinedData;
}