На данный момент код не рабочий (выводит исходные значения):
<?php
$array = Array(
'0' => Array(
'0' => 'http://www.example.com/index.php',
'1' => 'www.example.com/index.php',
'2' => 'www.example.com/forum/index.php'),
'1' => Array(
'0' => 'http://',
'1' => ''),
'2' => Array(
'0' => 'www.example.com'),
'3' => Array(
'0' => 'example.'),
'4' => Array(
'0' => 'com'),
'5' => Array(
'0' => '/index.php',
'1' => '/forum/index.php')
);
function arrayUnique($myArray) {
$newArray = Array();
if (is_array($myArray)) {
foreach($myArray as $key=>$val[2]) {
if (is_array($val[2])) {
$val2 = arrayUnique($val[2]);
} else {
$val2 = $val[2];
$newArray=array_unique($myArray);
break;
}
if (!empty($val2)) {
$newArray[$key] = $val2;
}
}
}
return ($newArray);
}
$output=arrayUnique($array);
print_r($output);
?>
Основная задача проверять на уникальность значения 2 массива (www.example.com) и удалить лишние ключи в остальных массивах.
Функцию arrayUnique нашел в документации php, но она почему-то не работает, подскажите что не так, может кто сталкивался с подобной задачей?
После обработки массив должен выглядеть так:
Array
(
[0] => Array
(
[0] => http://www.example.com/index.php
)
[1] => Array
(
[0] => http://
)
[2] => Array
(
[0] => www.example.com
)
[3] => Array
(
[0] => example.
)
[4] => Array
(
[0] => com
)
[5] => Array
(
[0] => /index.php
)
)