<?php
// 1、使用数组键交集(缺陷,重复出现的搜寻不会出现)
// 映射关系
$arr1 = [1 => '小名', 2 => '小白', 3 => '小汪', 4 => '小哈'];
// 要搜寻的
$search = [1, 2, 3, 3, 4, 4, 4, 4,];
$tmp = array_fill_keys($search, '');
$rs = array_intersect_key($arr1, $tmp);
var_dump($rs);
/**
array(4) {
[1] =>
string(6) "小名"
[2] =>
string(6) "小白"
[3] =>
string(6) "小汪"
[4] =>
string(6) "小哈"
}
*/
// 2、先用数字和文本建立索引,然后使用 array_map 遍历
$rs2 = array_map(function ($item) use ($arr1) {
return $arr1[$item] ?? $item;
}, $search);
var_dump($rs2);
/**
array(8) {
[0] =>
string(6) "小名"
[1] =>
string(6) "小白"
[2] =>
string(6) "小汪"
[3] =>
string(6) "小汪"
[4] =>
string(6) "小哈"
[5] =>
string(6) "小哈"
[6] =>
string(6) "小哈"
[7] =>
string(6) "小哈"
}
*/
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…