【发布时间】:2018-11-22 01:47:02
【问题描述】:
如何通过, 拆分字符串,但跳过数组中的字符串
字符串 - "'==', ['abc', 'xyz'], 1"
当我做 explode(',', $expression) 时,它给了我数组中的 4 项
array:4 [
0 => "'=='"
1 => "['abc'"
2 => "'xyz']"
3 => 1
]
但我希望我的输出是 -
array:3 [
0 => "'=='"
1 => "['abc', 'xyz']"
2 => 1
]
【问题讨论】:
-
你是怎么得到这种格式的字符串的?感觉这可能会在流程的早期更容易解决。
-
在 laravel 5.6 中,我在创建自定义 Blade 指令时收到此错误消息
Blade::directive('role', function($symbol, $check_roles){ ..... }错误:Type error: Too few arguments to function App\Providers\RoleServiceProvider::App\Providers\{closure}(), 1 passed and exactly 2 expected在我的视图中:@role('==', ['Manager', 'User'])。原来 laravel 将所有参数转换为字符串。所以现在我必须像这样解析它。 -
@AmitozDeol 如果这是为了解决自定义 Blade 指令仅支持一个参数的限制,我强烈建议将两个参数作为数组、对象或JSON 编码的字符串。试图将一串多个参数分开是解决了错误的问题。
标签: php laravel laravel-5 php-7 text-parsing