在 foreach 循环中将两个数组相互比较的最佳方法是什么?
我有两个数组,语言和内容,我想检查内容是否已翻译,如果已翻译,它将显示翻译的内容。
内容数组
Array
(
[0] => Array
(
[lang] => it
[content] => Contenuto Italiano
)
[1] => Array
(
[lang] => en
[content] => English Content
)
[2] => Array
(
[lang] => es
[content] => Contenido Español
)
)
语言数组
Array
(
[0] => Array
(
[language_code] => it
[0] => it
)
[1] => Array
(
[language_code] => en
[0] => en
)
[2] => Array
(
[language_code] => es
[0] => es
)
)
php
<?php foreach ($languages as $language): ?>
<?php if ($language['language_code'] == $contents['lang']){ ?>
<input type="text" value="<?php echo $contents['content']; ?>">
<?php }else{ ?>
<input type="text" value="" placeholder="<?php echo $language['language_code']; ?>">
<?php } ?>
<?php endforeach ?>
错误
注意:未定义索引:lang
试试这个 :
<?php
$contents = array(array("lang" => "it","content" => "Contenuto Italiano"),array("lang" => "en","content" => "English Content"),array("lang" => "es","content" => "Contenido Español"));
$languages = array(array("language_code" => "it", "0" => "it"),array("language_code" => "en", "0" => "en"),array("language_code" => "es", "0" => "es"));
foreach ($languages as $language):
$key = array_search($language['language_code'], array_column($contents, 'lang'));
if(!empty($key) || $key === 0){
// Content is available for language
echo '<input type="text" value="'.$contents[$key]['content'].' ">';
}
else{
echo '<input type="text" value="" placeholder="'.$language['language_code'].'">';
}
endforeach;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句