又是一个花了一天的时间才发现解决的大坑
问题:
使用php exec(Rscript *args[]) ,利用php调用R来处理后台任务,其中 两个参数是颜色字符串 “rgba(120, 20, 60, 0.5)” ,“rgb(0, 191, 255)” 。利用上述命令传参的时候发现 参数传递错误,单个颜色字符串被分割为多个参数,百思不得其解。
解决:
发现颜色字符串中间存在空格,而空格成为单个颜色字符串被分割为多个参数的分隔符,受到 链接的启发,即:
Rscript *args 如果你的args是中间,或前后带有空格的字符串,最好将其删除
最后经过测试果然如此。所以这个参数最好在前端传给php的时候用JS去除空格:
trim_str = str.replace((/\s+/g,"")
或者php调用之前去除空格。