小编Let*_*Pie的帖子

如何正确处理数组?

有两个数组:

$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)

但我不确定这是正确的做法,你会建议什么?

php arrays

7
推荐指数
2
解决办法
160
查看次数

选择在字符串中仅出现一次的字符

是否可以选择仅出现一次的角色?

我熟悉负面的后视,并尝试了以下内容

/(.)(?<!\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)

在此先感谢您的帮助

regex

5
推荐指数
2
解决办法
236
查看次数

找出创建类实例的目录?

是否可以知道创建类实例的目录?类中我需要知道的目录的路径,以便将结果保存在同一目录中。到目前为止,我只提出了一个“自行车”传输:

(new BasicTest('test_value', dirname(__FILE__))
Run Code Online (Sandbox Code Playgroud)

在类构造函数本身中。还有其他方法吗?

php oop

5
推荐指数
1
解决办法
50
查看次数

在PHP 7.4中重写匿名函数

有以下匿名递归函数:

$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

致命错误:未捕获错误:函数名称必须是字符串

php closures anonymous-function arrow-functions php-7.4

2
推荐指数
1
解决办法
63
查看次数