如何比较php中的两个数组?

交换

在 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章