我有一个二维数组,它返回这个值:
Array (
[0] => Array (
[0] => wallet,pen
[1] => perfume,pen
)
[1] => Array (
[0] => perfume, charger
[1] => pen,book
).
除此之外,我想知道是否有可能创建一个函数,以这种方式组合数组,并创建一个新的:
如果例如 [0] => Array ( [0] => wallet,pen [1] => perfume,pen )
那么应该等于
[0] => Array ( [0] => wallet,pen, perfume )
因为有一个常用词 else 什么都不做。
然后将每个单词作为字符串检索以供进一步操作。
如何使这样的数组的值唯一。 Array ( [0] => Array ( [0] => wallet [1] => pen [2] => perfume [3] => pen) )
因为有两支笔我想要以这种方式删除它 ( [0] => Array ( [0] => wallet [1] => pen [2] => perfume) )
最佳答案
这只是映射数组和组合内部数组的问题:
$x = [['wallet,pen', 'perfume,pen'], ['perfume,charger', 'pen,book']];
$r = array_map(function($item) {
return array_unique(call_user_func_array('array_merge', array_map(function($subitem) {
return explode(',', $subitem);
}, $item)));
}, $x);
这首先根据逗号拆分所有字符串。然后使用 array_merge()
将它们合并在一起,并使用 array_unique()
删除重复项。
关于php - 在二维数组中分解多个以逗号分隔的字符串,然后获取所有唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188504/