有没有一种方法可以对数组进行子字符串化?

时间:2019-11-18 08:34:56

标签: php arrays laravel substr

我想对查询给出的数组进行子字符串化

CONTROLLER (EX值(Year_Report_2019,Year_Report_2020)

 $store=array();

 $tables = \DB::select("SHOW TABLES WHERE Tables_in_database LIKE '%Year_Report_%'");

    foreach($tables as $this){

     $get= substr($this,-4);

     $store[] = $get;
   }

刀片 想要显示(2019,2020)的结果

{{implode(",", $store)}}

错误

substr() expects parameter 1 to be string, object given

4 个答案:

答案 0 :(得分:2)

是的,implode函数将为您做到这一点:

{{implode(",", $store)}}

PHP文档here

答案 1 :(得分:2)

您将结果解析错误。 (避免使用变量名$this

$store=array();

$tables = \DB::select("SHOW TABLES WHERE Tables_in_database LIKE '%Year_Report_%'");

foreach($tables as $table){
    $store[] = substr($table->Tables_in_database,-4);
}

答案 2 :(得分:1)

$array = ['Year_Report_2019','Year_Report_2020'];


array_walk($array, function(&$item) { 
    return $item = preg_replace("/\D/", '', $item);
});

首先,您可以按照需要的方式形成数组,仅保留整数值。该操作可能会在您的控制器中发生,因此您的视图中没有数组处理。

然后在您的视图中,您可以使用以下命令返回并以逗号分隔的字符串形式显示新数组:

  {{ implode(",",$array) }}

答案 3 :(得分:1)

无需在此处使用foreach只需用您的愿望表达内嵌此数组

{{implode(",", $store)}}