我有2〜3串 例子1:PHP:如何在PHP中兩個字符串之間獲得交點
$a1 = 'a & b & c';
$a2 = 'b & c';
$a3 = 'a & b & c';
我想出來把作爲交叉點是
$result = 'b & c' if there is no intersection it should return blank
u能請爲上述場景提供解決方案
我有2〜3串 例子1:PHP:如何在PHP中兩個字符串之間獲得交點
$a1 = 'a & b & c';
$a2 = 'b & c';
$a3 = 'a & b & c';
我想出來把作爲交叉點是
$result = 'b & c' if there is no intersection it should return blank
u能請爲上述場景提供解決方案
在組合使用array_intersect
與explode
,implode
和array_map
的一種方法:
$a1 = 'a & b & c';
$a2 = 'b & c';
$a3 = 'a & b & c';
$result = implode(' & ',
call_user_func_array('array_intersect',
array_map(function($a) {
return explode(' & ', $a);
},
[$a1, $a2, $a3])
)
);
echo($result);
或者如果你想直接傳遞數組:
$arr = ['a & b & c', 'b & c', 'a & b & c'];
$result = implode(' & ',
call_user_func_array('array_intersect',
array_map(function($a) {
return explode(' & ', $a);
},
$arr)
)
);
echo($result);
完美答案@ Robby –
嗨,如果我有一個數組我可以做什麼像陣列([0] => a&b&c [1] => a&b [2] => b [3] => a&b &c) –
這是一樣的。我傳入數組''[$ a1,$ a2,$ a3]'在我的方法中。 –
使用陣列相交併對其唯一
<?php
$a1 = 'a & b & c';
$a2 = 'b & c';
$a3 = 'a & b & c';
$pieces1 = str_word_count($a1, 1);
$pieces2 = str_word_count($a2, 1);
$pieces3 = str_word_count($a3, 1);
$result=array_intersect(array_unique($pieces1), array_unique($pieces2),array_unique($pieces3));
print_r ($result);
?>
O/P
陣列([1] => B [2] => C)
分解成數組並使用[array_intersect](http://php.net/manual/en/function.array-intersect.php)? – Peon
請說明你自己的努力和解釋問題..這不是一個編碼服務 – JimHawkins
嘿,我知道這是不是一個編碼服務@JimHawkins但我試圖從我自己的努力,從昨天.so想到得到解決方案 –