Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Извлечь из массива ненужные элементы


Автор: lumentek 25.9.2019, 16:42
Есть массив:

Код

$arr = array(
    1 => 543554,
    2 => 543543,
    3 => 434325,
    4 => 6546456,
    5 => 5345345
);


Пришел запрос со значением 434325 (у него ключ в массиве 3). Исходя из этого нужно получить новый массив, у которого будут извлечены элементы с ключами 4 и 5.

Автор: ksnk 25.9.2019, 19:41
Не знаю зачем это надо smile Но вот , например
Код

function sliceByValue($gotcha, $arr){
    $key = array_search($gotcha, $arr, true);
    if ($key !== false) {
        return  array_slice($arr, array_search($key, array_keys($arr), true)+1, null, true);
    }
    return false;
}

$arr = array(
    1 => 543554,
    24 => 543543,
    35 => 434325,
    41 => 6546456,
    'XX' => 5345345
);

var_dump(sliceByValue(434325,$arr));
var_dump(sliceByValue(5345345,$arr));
var_dump(sliceByValue(111,$arr));

Автор: whatisnot 9.10.2019, 15:47
Код

$v = 434325;
$a = ($k = array_search($v, array_values($arr))) != false ? array_slice($arr, $k+1, null, 1) : null;

Автор: Xahina 26.12.2020, 18:24
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)