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

Получить массив в цикле foreach из строки

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

$lubuvna_groups = acf_get_field_groups();

$ArrayDiffs = array_diff($resultsFilesKey, $resultsKey);

foreach($ArrayDiffs as $ArrayDiff) { 
   $resultsFileToImports[] = $ArrayDiff;
}

//$keysToImports = implode(", ",$resultsFileToImports);
$keysToImports = 'group_lubuvna_contact, group_lubuvna_subscriber';
    foreach($resultsFileToImports as $resultsFileToImportsKey) { 
        $keysToImports_filtered = array_filter($lubuvna_groups, function($el) use ($keysToImports) {
                        
            return ( strpos($el['key'], $keysToImports) !== false );

        });
}

Приведенный выше код возвращает значение только в том случае, если в $keysToImports существует одна строка. Когда есть более одного значения, это не работает. Я уверен, что что-то упускаю, но не могу найти здесь никакого решения! Он показывает мне пустой массив:

Array ( )

Может есть другой способ получить массивы без strpos?

Окончательный массив должен выглядеть следующим образом:

Array ( [0] => Array ( [ID] => 0 [key] => group_lubuvna_contact [title] => ACF Fields [fields] => Array ( ) [location] => Array ( [0] => Array ( [0] => Array ( [param] => post_type [operator] => == [value] => page ) ) ) [menu_order] => 0 [position] => normal [style] => default [label_placement] => top [instruction_placement] => label [hide_on_screen] => [active] => 1 [description] => [local] => json [modified] => 1592781382 [_valid] => 1 ) [1] => Array ( [ID] => 0 [key] => group_lubuvna_subscriber [title] => Lubuvna - Subscriber Fields [fields] => Array ( ) [location] => Array ( [0] => Array ( [0] => Array ( [param] => post_type [operator] => == [value] => post ) ) [1] => Array ( [0] => Array ( [param] => post_type [operator] => == [value] => page ) ) [2] => Array ( [0] => Array ( [param] => post_type [operator] => == [value] => lubuvna_subscriber ) ) ) [menu_order] => 0 [position] => normal [style] => default [label_placement] => top [instruction_placement] => label [hide_on_screen] => [active] => 1 [description] => [local] => json [modified] => 1592781369 [_valid] => 1 ) )

  • Код, кажется, имеет различные значения, которые, кажется, не имеют смысла (или не в коде). $ArrayDiffs помещается в $resultsFileToImports, затем foreach по этому списку в $resultsFileToImportsKey, который нигде не используется. 25.06.2020
  • @NigelRen У меня было два массива, которые в конце использовались в $ArrayDiffs , я добавил это в код выше. это то, что я получаю от . $ArrayDiffs . . Array ( [0] => group_lubuvna_contact [1] => group_lubuvna_subscriber ) . 25.06.2020

Ответы:


1

Попробуйте изменить:

$keysToImports = 'group_lubuvna_contact', 'group_lubuvna_subscriber';
// then return
return ( strpos($el['key'], $keysToImports) !== false );

to

$keysToImports = ['group_lubuvna_contact', 'group_lubuvna_subscriber'];
// then return
return in_array($el['key'], $keysToImports);

Полное обновление кода:


$lubuvna_groups = acf_get_field_groups();

$ArrayDiffs = array_diff($resultsFilesKey, $resultsKey);

foreach($ArrayDiffs as $ArrayDiff) { 
   $resultsFileToImports[] = $ArrayDiff;
}


$keysToImports = ['group_lubuvna_contact', 'group_lubuvna_subscriber'];
foreach($resultsFileToImports as $resultsFileToImportsKey) { 
    $keysToImports_filtered = array_filter($lubuvna_groups, function($el) use ($keysToImports) {
        return in_array($el['key'], $keysToImports);
    });
}
25.06.2020
  • Можете ли вы добавить вывод для $resultsFileToImports? Это поможет лучше давать рекомендации по построению массива динамических имен ключей. 25.06.2020
  • это вывод $resultsFileToImports: Array ( [0] => group_lubuvna_contact [1] => group_lubuvna_coupons [2] => group_lubuvna_subscriber ) 26.06.2020
  • Новые материалы

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

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

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

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

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

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

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