我需要'Foreach循环'任务的建议

时间:2014-11-02 20:16:43

标签: php loops foreach

这是我的代码:

<?php
    $a=array (
        16=> 'Ivan',
        18=> 'Mitko',
        21=>'Pesho',
        14=> 'Misho'
        );
        foreach($a as $k=>$v){
        if ( $k>=18 ){
            echo $k. '--' .$v.'<br>';
            }
        }
?>

所以一切都很好,但我想要显示和关键的&#39;谁不满18岁,我想显示他们需要达到18岁。

例如:

18 - Mitko 21 - Pesho

16 - 伊万+2 14 - Misho +4

我应该使用&#39; else&#39;?

我希望你理解我。

3 个答案:

答案 0 :(得分:1)

这应该适合你:

<?php

  $a = array (
    16=> 'Ivan',
    18=> 'Mitko',
    21=>'Pesho',
    14=> 'Misho'
    );

    foreach($a as $k=>$v){
        if ( $k >= 18 )
            echo $k . '--' . $v . '<br />';
        elseif ($k < 18)
            echo $k . '--' . $v . ' +' . (18-$k) . '<br />';
    }

?>

如果您想分开18岁及以上的密钥,请使用以下代码:

<?php

  $a = array (
    16=> 'Ivan',
    18=> 'Mitko',
    21=>'Pesho',
    14=> 'Misho'
    );

    foreach($a as $k=>$v){
        if ( $k >= 18 )
            echo $k . '--' . $v . '<br />';

    }

    foreach($a as $k=>$v){
        if ($k < 18)
            echo $k . '--' . $v . ' +' . (18-$k) . '<br />';
    }

?>

答案 1 :(得分:0)

将此添加到else {}

else{
 $getK = 18 - $k;
 echo $k. '--' .$v.' + '.$getK.'<br>';
  }

答案 2 :(得分:-1)

<?php
    $a=array (
        16=> 'Ivan',
        18=> 'Mitko',
        21=>'Pesho',
        14=> 'Misho'
        );
        foreach($a as $k=>$v){
            if ( $k>=18 ){
                echo $k. '--' .$v.'<br>';
            }
            else{
                $toreach = 18-$k;
                echo $k.'--'.$v.' +'.$toreach;
            }
        }
?>

喜欢这个吗?