我想对查询给出的数组进行子字符串化
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
答案 0 :(得分:2)
答案 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)}}