如何在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 loopexplode 数组中的值存储到上面提到的 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 中输入所有数组并在字段下方显示验证错误

Vuejs如何显示laravel输入数组验证错误

如何使用 proengsoft/laravel-jsvalidation 和 Laravel 5 验证数组输入

如何在隐藏输入字段中保存数组的值,然后再将其替换为新数组

Laravel - 我如何发布对象数组?

如何使用字符串数组来分解数字的各个数字?