Как выбрать конец динамически генерируемого массива и скрыть часть его содержимого? - PullRequest
0 голосов
/ 04 марта 2020

каждый!

На моем веб-сайте есть список офисных контактов, которые динамически генерируются с помощью PHP (частичный фрагмент ниже). Как видите, у каждого результата / потомка списка есть имя, адрес и, на следующем div, фрейм карты Google. Чего я хотел бы добиться, так это вызвать самый последний результат массива, чтобы он не отображал раздел карт Google.

Я думаю, что, вероятно, я могу вызвать его с помощью " end () "команда, но я не могу обернуть голову вокруг правильного пути, чтобы продолжить ... Кто-нибудь может указать мне правильное направление, пожалуйста?

Спасибо!

  <header id="standardheader">
    <div class="wrap">
        <nav class="standardsubnav">
            <ul class="standardsubnav_list vanilla"><!--
            <?php include_partial( 'contact/citynav', array('class' => 'standardsubnav') ); ?>
    --></ul>
        </nav>
        <h1 class="standardpage_title"><?php echo $current->getHeadline(); ?></h1>
    </div>
</header>

<div class="wrap">
    <section class="">
        <ul class="list4 vanilla">
            <?php $contacts = $current->getChildren(); ?>
            <?php foreach($contacts as $contact): $settings = $contact->getSettings(); ?>
                <li class="item4">
                    <a name="<?php echo $settings['city']; ?>"></a>
                    <div class="link4">
                        <div class="link4_inner">
                            <h2 class="title4"><?php echo $settings['city']; ?></h2><!--
          --><address class="address4">
                                <?php echo $settings['name']; ?><br />
                                <?php if(isset($settings['address1']) && $settings['address1'] != "") echo $settings['address1'] . '<br />'; ?>
                                <?php if(isset($settings['address2']) && $settings['address2'] != "") echo $settings['address2'] . '<br />'; ?>
                                <?php if(isset($settings['address3']) && $settings['address3'] != "") echo $settings['address3'] . '<br />'; ?>
                                <?php if(isset($settings['address4']) && $settings['address4'] != "") echo $settings['address4'] . '<br />'; ?>
                                <?php if(isset($settings['phone']) && $settings['phone'] != ""): ?><a href="tel:<?php echo str_replace(' ', '', $settings['phone']); ?>">t. <?php echo $settings['phone']; ?></a><br /><?php endif; ?>
                                <?php if(isset($settings['fax']) && $settings['fax'] != ""): ?><a href="tel:<?php echo str_replace(' ', '', $settings['fax']); ?>">f. <?php echo $settings['fax']; ?></a><br /><?php endif; ?>
                                <?php if(isset($settings['email']) && $settings['email'] != ""): ?><a href="mailto:<?php echo $settings['email']; ?>">e. <?php echo $settings['email']; ?></a><?php endif; ?>
                            </address>
                        </div><!--
        --><div class="link4_inner">
                            <?php
                            $mapurl = (!empty($settings['mapurl'])) ? $settings['mapurl'] : 'https://www.google.com/maps/@' . $settings['latitude'] . ',' . $settings['longitude'] . ',' . $settings['zoom'] . 'z'; ?>
                            <div class="gmap4" data-gmap="<?php echo htmlspecialchars( '{"lat":"'.$settings['latitude'].'","lng":"'.$settings['longitude'].'", "zoom":"'.$settings['zoom'].'", "mapurl":"'.$mapurl.'"}' ); ?>">
                                <noscript><?php echo __('Please enable javascript to see the map.'); ?></noscript>


                <?php end($contacts)

1 Ответ

0 голосов
/ 04 марта 2020

Подсчитать массив $ contacts. Затем в foreach l oop проверьте, равен ли элемент, находящийся в данный момент в l oop, элементам массива, если он равен элементам, это последний элемент, то выйдите из foreach:

$items = count($contacts );
$i = 0;
foreach($contacts as $contact) {
  if(++$i === $items ) {
    continue;
  }
} 
...