嵌套的foreach无法正确填充我的下拉列表

时间:2017-01-24 15:02:52

标签: php

我试图从2个现有阵列中制作1个阵列(无法修改)。为了做到这一点,我在foreach中创建了一个嵌套在另一个foreach中的数组。

我使用的代码:

$language_option = array();
    foreach(Languages::getFullSelectOptionsList() as $country_description_1 => $country_code){
        foreach(Languages::getFullSelectOptionsList(TRUE) as $country_description_2 => $country_code){
            $language_option[$country_code] = $country_description_1.' - '.$country_description_2;
        }
    }

在此代码中" Languages :: getFullSelectOptionsList()"返回包含第1个国家/地区描述的数组。

和"语言:: getFullSelectOptionsList(TRUE)"返回带有第二个国家/地区描述的数组。

这是我的代码所做的: dropdown results

但我喜欢它做的是: dropdown wished results

正如您在第一张图片中看到的那样,只有" country_description_1"的最后一个数组值用来代替全部使用它们。

我的代码中是否有任何错误,这是不可能的,还是有更简单的方法可以做到这一点?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以在这里获得此代码的参考。 但这不起作用,因为您需要指定$first_array[$i]的值

$language_option = array();
$first_array = Languages::getFullSelectOptionsList();
$second_array = Languages::getFullSelectOptionsList(TRUE);
for($i=0;$i<count($first_array); $i++){
    $language_option[$country_code] = $first_array[$i].' - '.$second_array[$i];
}

而不是$first_array[$i].' - '.$second_array[$i]根据您的数组结构放置代码来获取描述或代码(键值)。