Nano Hash - криптовалюты, майнинг, программирование

Удалите все элементы ассоциативного массива, если они имеют определенное слово в ключе

Я хотел бы удалить все элементы ассоциативного массива, если в ключе есть подстрока «TB1».

Мой массив выглядит так:

$output= [
       'TB1_course' => 'required'
       'TB1_session' => 'required'
       'TB2_course' => 'required'
    ]

Я хотел бы удалить TB1_course и TB1_session, чтобы мой окончательный массив выглядел так:

$output =[
   'TB2_course' => 'required
]

Есть ли способ сделать это простым кратким способом?

Мое первоначальное предположение состояло в том, чтобы использовать для каждого цикла:

foreach ($output as $key =>$value){
//remove
}

Спасибо за помощь!



Ответы:


1

Отфильтровать массив по ключу:

$input = [
    'TB1_course' => 'required',
    'TB1_session' => 'required',
    'TB2_course' => 'required',
];

$filter = function ($key) {
    return substr($key, 0, 4) === 'TB2_';
};

$output = array_filter($input, $filter, ARRAY_FILTER_USE_KEY);

var_dump($output);

Выход:

array(1) {
  'TB2_course' =>
  string(8) "required"
}

См. http://php.net/array_filter для получения документации по функции array_filter, полезной для фильтрации массивов.

19.06.2017
  • Работает отлично, Спасибо! 19.06.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..