Как сравнить два массива по первому символу значений и при совпадении удалить эти значения из первого массива?

Здравствуйте, имеется два таких массива:

Array
(
    [0] => 0-1439802876-55d1a5fc8879e.jpg
    [1] => 1-1439802876-55d1a5fc8ed30.jpg
    [2] => 2-1439802876-55d1a5fc95a91.jpg
)

Array
(
    [0] => 0-1440719577-55dfa2d9195ec.jpg
    [1] => 2-1440719577-55dfa2d93572b.jpg
    [2] => 3-1440719577-55dfa2d951c51.jpg
)


Надо сравнить эти два массива по первой цифре и если она совпадает, то из первого массива удалить совпадающие значения, а затем слить оба массива. Спасибо.
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
@magazovski
<?php

$a = array(
    "0-1439802876-55d1a5fc8879e.jpg",
    "1-1439802876-55d1a5fc8ed30.jpg",
    "2-1439802876-55d1a5fc95a91.jpg",
);

$b = array(
    "0-1440719577-55dfa2d9195ec.jpg",
    "2-1440719577-55dfa2d93572b.jpg",
    "3-1440719577-55dfa2d951c51.jpg",
);

$a = array_combine(array_map(function ($v) {
    return substr($v, 0, strpos($v, '-'));
}, $a), $a);

$b = array_combine(array_map(function ($v) {
    return substr($v, 0, strpos($v, '-'));
}, $b), $b);

print_r($a+$b);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы