PHP用正确的密钥填充关联数组

时间:2017-01-21 16:43:42

标签: php arrays associative-array array-key

 $niz = array(
        'fruit1' => 'apple',
        'fruit2' => 'orange',
        'fruit3' => 'grape',
        'fruit4' => 'watermelon',
        'fruit5' => 'grapefruit'
        );

    $max = 'yellow';
    $niz2 = array();
    $niz3 = array();

    foreach($niz as $k => $v){

        if (strlen($v) <= strlen($max)) {
            array_push($niz2, $v);  
                } 
        else { 
        $niz3[$niz[$k]]=$v;
            }   
    }   
    print_r($niz3);

How can I get the appropriate key from the $niz array in my $niz3          associative array in the else statement? 

即。数组([fruit4] =&gt;西瓜             [fruit5] =&gt;葡萄柚           )

我得到: 数组([西瓜] =&gt;西瓜         [葡萄柚] =&gt;葡萄柚       )

1 个答案:

答案 0 :(得分:3)

您需要将$niz3[$niz[$k]]=$v;更改为$niz3[$k]=$v;

$k是“密钥”,通过将其传递给$niz您正在访问已定义为$v的值。