Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使具有混合值的数组成为唯一数组_Php - Fatal编程技术网

Php 如何使具有混合值的数组成为唯一数组

Php 如何使具有混合值的数组成为唯一数组,php,Php,我有一个混合值的数组,如下所示: Array ( [0] => 93,103 [1] => 93 [2] => 103 [3] => 95,45,93,18 [4] => 12,45 ) 我想将其转换为数组,每个值都是唯一的,如下所示: Array ( [0] => 93 [1] => 103 [2] => 18 [3] => 12 [4] => 95 [5] => 45 ) 这样做的好方法是什么?如下所

我有一个混合值的数组,如下所示:

Array
(
 [0] => 93,103
 [1] => 93
 [2] => 103
 [3] => 95,45,93,18
 [4] => 12,45
)
我想将其转换为数组,每个值都是唯一的,如下所示:

Array
(
 [0] => 93
 [1] => 103
 [2] => 18
 [3] => 12
 [4] => 95
 [5] => 45
)
这样做的好方法是什么?

如下所示:

$array = array(
  '93,103',
  '93',
  '103',
  '95,45,93,1',
  '12,45'
);

$result = array_unique(call_user_func_array('array_merge', array_map(function($e) {
  return explode(',', $e);
}, $array)));

var_dump($result);
结果:

array(6) {
  [0]=>
  string(2) "93"
  [1]=>
  string(3) "103"
  [4]=>
  string(2) "95"
  [5]=>
  string(2) "45"
  [7]=>
  string(1) "1"
  [8]=>
  string(2) "12"
}

你只要使用“内爆”和“爆炸”就可以了

$a=Array
(
 [0] => 93,103
 [1] => 93
 [2] => 103
 [3] => 95,45,93,18
 [4] => 12,45
)

$b=implode(",",$a);
$c=explode(",", $b);
$c=Array
(
 [0] => 93
 [1] => 103
 [2] => 18
 [3] => 12
 [4] => 95
 [5] => 45
)

分解并将其推送到主阵列…谢谢,它跳过了一些阵列键,因为它们是相同的。要重新分配这些键吗?
$a=Array
(
 [0] => 93,103
 [1] => 93
 [2] => 103
 [3] => 95,45,93,18
 [4] => 12,45
)

$b=implode(",",$a);
$c=explode(",", $b);
$c=Array
(
 [0] => 93
 [1] => 103
 [2] => 18
 [3] => 12
 [4] => 95
 [5] => 45
)