第一个数组定义当前值:
Array ( [0] => schools [1] => high-wood [2] => students )
第二个数组是一个由第一个数组触发的映射,也包含替换键:
Array ( [/schools/{school-name}/students/] => /{school-name}/students/ )
这个想法是数组键的第二段保存替换键,最终返回的数组是指示替换键位置的输出映射。
最终所需的输出将是:
/high-wood/students/
我试图找到一个通用的解决方案,它可能有任意数量的传入值,以及任意位置的任意数量的替换键。
这是通用传入数组的示例:
Array ( [0] => param1 [1] => param2 [2] => key-value )
和通用地图:
Array ( [/param1/param2/{key-map}/] => /{map-key}/anything/ )
其输出将是:
/key-value/anything/
基本思想是在第二个段(它可以在任何地方)检测到映射键,以便从传入数组中获取值并将其放入输出数组的映射键持有者中。
目前我已经设法制作了一个 foreach 循环和 preg_matches 的 vomitus 数组,我担心即使呈现这些也会进一步混淆这个问题。