如何在laravel中替换和分解数组输入
Posted
技术标签:
【中文标题】如何在laravel中替换和分解数组输入【英文标题】:how to do replace and explode for array input in laravel 【发布时间】:2020-02-25 11:59:17 【问题描述】:我是 laravel 的初学者。我正在尝试从我的 API 请求中访问数组输入。
对于邮递员,我将数组作为键,称为 file_name_list
,其值类似于 ["m_profile.png","aa_image.jpg","new_pan.jpg"]
。我想在我的控制器中访问该数组。该值应该进入 3 个单独的变量,例如
$profile = m_profile.png
$aadhar = aa_image.jpg
$pan = new_pan.jpg
为此,我尝试在控制器中使用替换和分解功能。
$filenamelist1 = Str::replaceArray(array(' ','"', '[',']'),[""], $request->file_name_list);
$filename_str = explode(",",$filenamelist1);
在此之后,我想使用 for loop
将 explode
数组中的值存储到上面提到的 3 个变量中
但我面临的问题是Str::replaceArray
2 参数应该是数组,explode
2 参数应该是字符串。
我应该如何使用替换和爆炸来获得所需的结果?请指导。提前致谢。
【问题讨论】:
看起来像一个JSON数组,所以$filename_str = json_decode($request->file_name_list, true)
【参考方案1】:
您可以使用list
方法如下:
list( $profile , $adhar, $pan) = $request->file_name_list;
查看Docs
【讨论】:
【参考方案2】:<?php
$value = '["m_profile.png","aa_image.jpg","new_pan.jpg"]';
$value = str_replace("[","",$value); // clean [
$value = str_replace("]","",$value); // clean ]
$arrayValues = explode('","',$value); // explode with ","
print_r($arrayValues);
输出
Array (
[0] => "m_profile.png
[1] => aa_image.jpg
[2] => new_pan.jpg"
)
访问值时替换"
【讨论】:
【参考方案3】:如果您的数组大小固定,那么您可以使用列表分配它
list( $profile,$adhar,$pan) = $request->file_name_list;
【讨论】:
如果我的数组大小不固定怎么办? laravel 有什么解决方案?以上是关于如何在laravel中替换和分解数组输入的主要内容,如果未能解决你的问题,请参考以下文章
如何在 laravel 中输入所有数组并在字段下方显示验证错误