javascript - PHP循环仅在js中取出最后一个值

标签 javascript php

当有 6 个其他国家且所有国家都获得相同的“访问“英国”计划?”时,我的值 $viena_salis 只会显示最后一个值(在本例中为英国)。我尝试将 var contentString 移动到循环中的其他位置,希望结果能够改变,但似乎没有任何效果。此代码在谷歌地图上放置标记,其中包含每个国家/地区注册人数的数字,并且应根据用户 Angular 色的类型放置不同颜色的标记(仍在处理彩色标记部分)。

$indivitualios_salys 是国家/地区名称数组。

$google map 是包含世界所有国家/地区坐标的数组。

我不明白它出了什么问题,在我看来,它应该只是循环 js 并回显国家/地区名称,因为 if($viena_salis==$gm_salis[0]) 可以正常工作。

如果有人对我做错了什么有任何想法,我们将不胜感激。

P.s 我对 php 和 js 还很陌生。

<?php $i=0;
        foreach ($indivitualios_salys as $viena_salis) {
            $i++;
            foreach ($Google_maps as $gm_salis) {
                if ($viena_salis==$gm_salis[0]) {
                    ?>
                    var contentString = '<div id="content" >'+
                            '<div id= "siteNotice">'+
                            '</div>'+
                              '<div id="bodyContent">'+
                              '<p>Plan on visisting "<?php echo $viena_salis; ?>"?</p>'+
                              '<p>Check out our <a href="https://biz4good.co/about/">welcome guide</a> </p>'+
                              '</div>'+
                              '</div>';
                    var infowindow = new google.maps.InfoWindow({
                        content: contentString});

                    var <?php echo 'marker'.$i; ?> = new google.maps.Marker({
                      position: {lat: <?= $gm_salis[1]; ?>, lng: <?= $gm_salis[2]; ?>},
                      map: map,
                      icon: <?php 

                foreach ($remeju_id as $con_id){
                  foreach ($country_user_id as $user_id_country) {
                    if($con_id==$user_id_country){
                      echo 'image_green_blue,';
                    }
                    if($con_id!=$user_id_country){ 
                      echo 'image_green,';
                    }
                    else {
                        echo 'image_blue,';
                    }
                  }
                }; ?>
                      label: { color: '#fff', fontWeight: 'bold', fontSize: '14px', text: '<?php echo $elementCount[$viena_salis]; ?>' }
                    });
                    <?php echo 'marker'.$i; ?>.addListener('click', function() {
                        infowindow.open(map, <?php echo 'marker'.$i; ?>);
                    });
                    <?php
                }
            }
        };?>
      }

编辑: $individualios_salys- 看起来像:

Array
(
    [0] => Aruba
    [1] => Lithuania
    [2] => Bolivia
    [3] => Ukraine
    [4] => Bosnia and Herzegovina
    [5] => Greece
    [9] => United Kingdom
)

$google_maps 包含所有国家/地区,但简而言之,它看起来像:

Array
(
    [0] => Array
        (
            [0] => Andorra
            [1] => 42.546245
            [2] => 1.601554
        )

    [1] => Array
        (
            [0] => United Arab Emirates
            [1] => 23.424076
            [2] => 53.847818
        )

    [2] => Array
        (
            [0] => Afghanistan
            [1] => 33.93911
            [2] => 67.709953
        )

最佳答案

我简化了您的代码并准备了一小段代码,在我的代码中$viena_salis正在迭代数组的所有匹配值,您可以通过复制下面的代码来查看它并在控制台中查看它将会导致你

安道尔

阿富汗

$indivitualios_salys = array('Andorra','Lithuania','Afghanistan','Ukraine','Bosnia and Herzegovina','Greece','United Kingdom');


$Google_maps = array(
                array('Andorra',42.546245,1.601554),
                array('United Arab Emirates',42.546245,1.601554),
                array('Afghanistan',42.546245,1.601554),

            );


        $i=0;
        foreach ($indivitualios_salys as $viena_salis) {
            $i++;
            foreach ($Google_maps as $gm_salis) {
                if ($viena_salis==$gm_salis[0]) {
                    ?>
                    <script>
                        var viena_salis = '<?php echo $viena_salis ?>';
                        console.log(viena_salis);
                    </script>
                    <?php
                }
            }
        };

?>

上面的代码已经过测试并且可以工作,

我为您提供了上述解决方案作为您陈述的答案, “我的值 $viena_salis 只显示最后一个值(在本例中为英国) ”,

关于javascript - PHP循环仅在js中取出最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59676801/

相关文章:

javascript - jQuery - $(window).height() 和 width() 完全错误

javascript - 如何使用电话号码作为搜索关键字来查找对象

php - SQLSTATE[23000] : Integrity constraint violation: 1048 Column 'user_id' cannot be null error when assign forien key value?

php - 基于键、每个键一个元素从动态关联数组创建二进制配对数组

php - 更改 Monolog 中的日志路径 - Symfony2

javascript - 如果检测到移动用户,如何缩小表格文本?

javascript - 如何使用map获取所有子菜单数据或属性?

javascript - 如何使用jquery刷新div,而不重复

php - 如何将媒体选择器添加到 WordPress 中的 add_settings_field?

php - zend 框架 3 session 不工作