如何从数组中的所有索引中获取特定值

How to get specific values out of all indexes in an array

我有一个数组,我想对其进行迭代以将项目推入 select 框中,但我不知道该怎么做。

我从函数中得到的数组:

array(2) { 
    ["de"]=> array(10) { 
        ["id"]=> int(10) 
        ["order"]=> int(1) 
        ["slug"]=> string(2) "de" 
        ["locale"]=> string(5) "de-DE" 
        ["name"]=> string(7) "Deutsch" 
        ["url"]=> string(34) "http://localhost/werk/Mol/de/haus/" 
        ["flag"]=> string(66) "http://localhost/werk/Mol/wp-content/plugins/polylang/flags/de.png" 
        ["current_lang"]=> bool(false) 
        ["no_translation"]=> bool(false) 
        ["classes"]=> array(4) { 
            [0]=> string(9) "lang-item" 
            [1]=> string(12) "lang-item-10" 
            [2]=> string(12) "lang-item-de" 
            [3]=> string(15) "lang-item-first" 
            } 
        } 
    ["nl"]=> array(10) { 
        ["id"]=> int(3) 
        ["order"]=> int(2) 
        ["slug"]=> string(2) "nl" 
        ["locale"]=> string(5) "nl-NL" 
        ["name"]=> string(10) "Nederlands" 
        ["url"]=> string(26) "http://localhost/werk/Mol/" 
        ["flag"]=> string(66) "http://localhost/werk/Mol/wp-content/plugins/polylang/flags/nl.png" 
        ["current_lang"]=> bool(true) 
        ["no_translation"]=> bool(false) 
        ["classes"]=> array(4) { 
            [0]=> string(9) "lang-item" 
            [1]=> string(11) "lang-item-3" 
            [2]=> string(12) "lang-item-nl" 
            [3]=> string(12) "current-lang" 
            } 
        } 
} 

我尝试了 foreach 但我只得到了数组的索引

<?php 
$translations = pll_the_languages(array('raw' => 1));

$lang_codes = array();

foreach ($translations as $key => $value) {
  array_push($lang_codes, $key);
}

?>

我需要语言 slug,URL,以及这个数组中所有索引的标志(de & nl),我该怎么办?

对外部数组进行简单的迭代,然后从子数组中选择您想要的值。

<?php 
$translations = pll_the_languages(array('raw' => 1));

$lang_codes = array();

foreach ($translations as $lang => $info) {

    $lang_codes[$lang] = [  'slug' => $info['slug'],
                            'url' => $info['url'],
                            'flag' => $info['flag']
                        ];
}   
?>

你可以这样处理

$res = [];
foreach($translations as $key  => $value){
   $res[$key] = [
    'slug' => $value['slug'],
    'url'  => $value['url'],
    'flag' => $value['flag']
   ];
 }

Live Demo