To make the string version work, use explode. Like this:
function arraySubtract($one, $two) { // If string => convert to array $two = (is_string($two))? explode(' ',$two) : $two; $res = array(); foreach (array_diff($one, $two) as $key => $val) { array_push($res, $val); } return $res; }
This allso returns an array with key = 0 .... n without spaces
Test with this:
echo '<pre>'; print_r(arraySubtract(array(1,2,3,4,5,6,7), array(1,3,7))); print_r(arraySubtract(array(1,2,3,4,5,6,7), "1 3 7")); print_r(arraySubtract(array("val1","val2","val3","val4","val5","val6"), array("val1","val3","val6"))); print_r(arraySubtract(array("val1","val2","val3","val4","val5","val6"), "val1 val3 val6")); echo '</pre>';
muxare
source share