有两个数组:
$arr1 = ['word', 'tech', 'care', 'kek', 'lol', 'wild', 'regex'];
$arr2 = ['ord', 'ek', 'ol', 'ld', 'gex', 'ss'];
Run Code Online (Sandbox Code Playgroud)
第二个数组中的元素数小于或等于第一个数组.
排序第一个数组和第二个数组,如果第二个数组的元素包含在第一个数组的元素的末尾,则以这种形式对数组进行排序:
Array
(
[0] => w_ord
[1] => tech
[2] => care
[3] => k_ek
[4] => l_ol
[5] => wi_ld
[6] => re_gex
)
Run Code Online (Sandbox Code Playgroud)
重要提示:第二个数组的元素永远不会重复,并且可以按任何顺序排列.如果在第二个元素中没有第一个数组的元素的结尾,则设置第一个数组的元素的值.
我这样做:
foreach($arr2 as $val) {
$strrepl[$val] = "_".$val;
}
foreach($arr1 as $key => $val) {
$arr3[$key] = str_replace(array_keys($strrepl), $strrepl, $val);
}
print_r($arr3);
Run Code Online (Sandbox Code Playgroud)
但我不确定这是正确的做法,你会建议什么?
是否可以选择仅出现一次的角色?
我熟悉负面的后视,并尝试了以下内容
/(.)(?<!\1.*)/
但无法让它发挥作用.
例子:
given AXXDBD it should output ADBD
^^ - this is unacceptable
given 123558 it should output 1238
^^ - this is unacceptable
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助
是否可以知道创建类实例的目录?类中我需要知道的目录的路径,以便将结果保存在同一目录中。到目前为止,我只提出了一个“自行车”传输:
(new BasicTest('test_value', dirname(__FILE__))
Run Code Online (Sandbox Code Playgroud)
在类构造函数本身中。还有其他方法吗?
有以下匿名递归函数:
$f = function($n) use (&$f) {
return ($n == 1) ? 1 : $n * $f($n - 1);
};
echo $f(5); // 120
Run Code Online (Sandbox Code Playgroud)
我尝试重写为7.4版,但出现错误,请告诉我我所缺少的内容吗?
$f = fn($n) => ($n == 1) ? 1 : $n * $f($n - 1);
echo $f(5);
Run Code Online (Sandbox Code Playgroud)
注意:未定义的变量:f
致命错误:未捕获错误:函数名称必须是字符串