我有一个像这样的数组
Array
(
['source'] => Array
(
[0] => Array
(
[0] => Amharic
)
[1] => Array
(
[0] => Azerbaijani
)
)
['target'] => Array
(
[0] => Array
(
[0] => Assamese
[1] => Bengali
)
[1] => Array
(
[0] => Bhojpuri
[1] => Gujarati
)
)
正如您所看到的那样,值正在数组中,并且这些值分为两组。一个是源头,另一个是目标。 所以对于source [0]来说,target的值是target [0] ..它就像这样 。所以对于我想要在下拉列表中获取值。所以从这个数组中,值应该像这样
<div class="test">
<select name="source" id="">
<option value="Amharic">Amharic</option>
</select>
<select name="target" id="">
<option value="Assamese">Assamese</option>
<option value="Bengali">Bengali</option>
</select>
</div>
<div class="test">
<select name="source" id="">
<option value="Azerbaijani">Azerbaijani</option>
</select>
<select name="target" id="">
<option value="Bhojpuri">Bhojpuri</option>
<option value="Gujarati">Gujarati</option>
</select>
</div>
获取值我正在使用我的代码
<?php foreach($language_datas as $language_data) {
foreach ($language_data as $lang_data) {
print_r($lang_data);
}
}
?>
这个结果就像
Array
(
[0] => Amharic
)
Array
(
[0] => Azerbaijani
)
Array
(
[0] => Assamese
[1] => Bengali
)
Array
(
[0] => Bhojpuri
[1] => Gujarati
)
)
所以有人可以告诉我如何获取引用的值。任何帮助和建议都将非常适用,
答案 0 :(得分:0)
我会这样做:
<?php foreach($language_datas['source'] as $k=>$data) {
echo '<div class="test">';
echo '<select name="source" id="">';
foreach($data as $point){
echo '<option value="' . $point . '">' . $point . '</option>';
}
echo '</select>';
echo '<select name="target" id="">';
foreach($language_datas['target'][$k] as $point){
echo '<option value="' . $point . '">' . $point . '</option>';
}
echo '</select>';
echo '</div>';
} ?>
虽然这假设您将始终拥有正确的数组结构,这可能不是最好的方法,但它解决了您的问题。
答案 1 :(得分:0)
我希望我理解你的问题。那么你想要使用相同的密钥获取与源相对应的所有目标吗?
在这种情况下,请尝试以下代码:
foreach ($language_datas['source'] as $key => $source) {
print_r($source); // Show the source array
print_r($language_data['target'][$key]); // Show the corresponding target array
}
根据数组的创建方式,您还应该在访问($language_data['target'][$key]
)之前检查isset($language_data['target'][$key])
是否存在。