PHP 内爆数组唯一失败

Alf*_*eca 3 php implode array-unique

我一直试图在array_unique没有成功的情况下内爆 2 个变量。这两个变量进行 mysql 调用,每个变量都返回 data ok。放在一个数组中也会返回来自两者的数据,但是,当array_unique它们内爆时,它们有重复的数据,我想在返回时清除这些数据。建议将不胜感激。

$a = 'mysql string 1';// basically words A, B, C
$b = 'mysql string 2';// basically words D, A, E
$a_b_array = array($a, $b);
sort($a_b_array);
$a_b_string = implode("\n", array_unique($a_b_array));

echo $a_b_string; //returns $a and $b with duplicated data
Run Code Online (Sandbox Code Playgroud)

我也试过SORT_REGULAR,不要认为这是问题所在:

//sort($a_b_array);
$a_b_string = implode("\n", array_unique($a_b_array, SORT_REGULAR);
Run Code Online (Sandbox Code Playgroud)

预期结果为:A、B、C、D、E

Ora*_*ill 5

首先,您正在处理一个包含两个元素的数组。您需要先将每个元素分解为数组。

<?php
// define your inputs    
$a = 'A, B, C';
$b = 'D, A, E';

// explode the string into arrays and merge them
$a_b_array = array_merge(explode(",", $a), explode(",", $b));

// trim off any pesky leading or trailing spaces from the elements
$a_b_array = array_map("trim", $a_b_array);

sort($a_b_array);
// tape the elements back together separated by a newline
$a_b_string = implode("\n", array_unique($a_b_array));
echo $a_b_string; 
Run Code Online (Sandbox Code Playgroud)