【发布时间】:2020-08-15 15:52:01
【问题描述】:
我有一个用例,我需要将数组的所有组合写入给定的模板字符串。
即:
// can have as many identifier keys 'A', 'B', 'C', etc
$arr = [
'A' => [
// can have as many replacement values
'A1',
'A2'
],
'B' => [
'B1',
'B2'
]
];
$template = 'A B A';
// returns an array of strings like output below
$genStrings = generateStrings($arr, $template);
// Output
// A1 B1 A1
// A1 B1 A2
// A2 B1 A1
// A2 B1 A2
// A1 B2 A1
// A1 B2 A2
// A2 B2 A1
// A2 B2 A2
那里有灯吗?昨晚一直在努力完成这个,没有运气。
谢谢!
【问题讨论】:
-
您应该扩展模板,然后循环...请发布您的尝试...
-
我已准备好为您提供可能的解决方案,但事实上,请先分享您的尝试。也许你离你不远,有一种方法可以引导你完成。
-
用例比仅仅分解模板要复杂得多,我试图混淆 css 选择器,因为选择器中的每个元素都有替换(这个元素是 $arr 和替换的关键是值),那么解决方案将需要模式替换,尽管我已经在这里取得了一些进展。我在这里问这个的原因是为了找出生成字符串所需的最小逻辑。我已经读过一些关于电源装置的东西,这看起来像是一条路。