📜  在 php 中按值从多维数组中获取唯一数组(1)

📅  最后修改于: 2023-12-03 15:23:15.207000             🧑  作者: Mango

在 PHP 中按值从多维数组中获取唯一数组

在 PHP 中,我们经常需要从多维数组中获取特定的值。下面介绍一种按值获取唯一数组的方法。

步骤
  1. 定义一个多维数组。
$array = array(
    'a' => array('x', 'y', 'z'),
    'b' => array('x', 'y', 'z'),
    'c' => array('x', 'y', 'z')
);
  1. 使用 array_map 函数对每个子数组进行回调函数处理,将每个子数组转换成字符串。
$callback = function($subarray) {
    return implode(',', $subarray);
};
$new_array = array_map($callback, $array);
  1. 使用 array_unique 函数获取唯一的字符串数组。
$new_array = array_unique($new_array);
  1. 使用 array_map 函数对每个字符串进行回调函数处理,将每个字符串转换成数组。
$callback = function($string) {
    return explode(',', $string);
};
$new_array = array_map($callback, $new_array);
  1. 最终得到唯一的多维数组。
$new_array = array_values($new_array);
示例
$array = array(
    'a' => array('x', 'y', 'z'),
    'b' => array('x', 'y', 'z'),
    'c' => array('x', 'w', 'z')
);

$callback = function($subarray) {
    return implode(',', $subarray);
};
$new_array = array_map($callback, $array);

$new_array = array_unique($new_array);

$callback = function($string) {
    return explode(',', $string);
};
$new_array = array_map($callback, $new_array);

$new_array = array_values($new_array);

print_r($new_array);

输出结果为:

Array
(
    [0] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )

    [1] => Array
        (
            [0] => x
            [1] => w
            [2] => z
        )

)
总结

本文介绍了一种按值获取唯一数组的方法。这种方法可以对多维数组进行处理,获取唯一的数组,并且不改变原数组的结构。