我花了几天时间研究一个函数,以正确的顺序在一个字符串数组中获取常用字符,以创建一个通配符.
这是一个解释我的问题的例子.我做了大约3个函数,但是当每个字母的绝对位置不同时,我总是有一个bug.
我们假设“”是“通配符”:
Array(
0 => '48ca135e0$5',
1 => 'b8ca136a0$5',
2 => 'c48ca13730$5',
3 => '48ca137a0$5');
应该返回:
$wildcard='+8ca13+0$5';
在这个例子中,棘手的是$array [2]比其他人多1个char.
其他例子:
Array(
0 => "case1b25.occHH&FmM",
1 => "case11b25.occHH&FmM",
2 => "case12b25.occHH&FmM",
3 => "case20b25.occHH&FmM1");
应该返回:
$wildcard='case+b25.occHH&FmM+';
在这个例子中,棘手的部分是:
– 重复字符,例如1 – > 11中的“删除”部分,和c – > cc在共同部分
– $array中的“2”字符[2]& [3]中的“删除”部分不在同一位置
– 最后一个字符串末尾的“1”字符
我真的需要帮助,因为我找不到这个功能的解决方案,它是我的应用程序的主要部分.
在此先感谢,不要犹豫提问,我会尽快回答.
Mykeul