如何使用PHP找到关联数组的最后一个键?

时间:2016-02-24 04:00:21

标签: php arrays

我有一个这样的数组:

$breadcrumb = array(
    'home' => 'http://samplelink',
    'projects' => 'http://samplelink/projects',
    'project info' => 'http://samplelink/projects/3',
);

我循环它们:

<ol class="breadcrumb">
    <?php if(isset($breadcrumb)) { ?>
    <?php $last_key = end(array_keys($breadcrumb)); ?>
        <?php foreach($breadcrumb as $name => $link) { ?>
            <li><a href="<?php echo $link; ?>"><?php echo $name; ?></a></li>
        <?php } ?>
    <?php } ?>
</ol>

我想在最后class='active'中添加li。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:2)

您可以查看id, sic_code, good_bad是否SELECT * FROM fmp_leads WHERE ( fmp_leads.sic_code MATCHES sic_codes.sic_code AND sic_codes.good_bad = good ) ,如下所示:

$name==$last_key

答案 1 :(得分:1)

一种方法是在li标记上添加三元组:

<li <?php echo ($name === $last_key) ? 'class="active"' : ''; ?>><a href="<?php echo $link; ?>"><?php echo $name; ?></a></li>

答案 2 :(得分:1)

您需要endkey才能获取数组的最后一个键。请尝试以下代码:

$breadcrumb = array(
    'home' => 'http://samplelink',
    'projects' => 'http://samplelink/projects',
    'project info' => 'http://samplelink/projects/3',
);

<ol class="breadcrumb">
    <?php if(isset($breadcrumb)) { ?>
    <?php 
    end($breadcrumb)
    $last_key = key($breadcrumb); 
    ?>
        <?php foreach($breadcrumb as $name => $link) { ?>
            <li><a href="<?php echo $link; ?>" <?php if($name==$last_key) { echo "active";}?>><?php echo $name; ?></a></li>
        <?php } ?>
    <?php } ?>
</ol>
  

1)end()使数组的内部指针前进到最后一个元素,并且   返回它的值。

     

2)key()返回当前数组位置的索引元素。

演示:https://eval.in/524280