PHP创建key => foreach中的值对

时间:2011-05-10 14:36:25

标签: php arrays foreach key-value

我想在foreach中的数组中创建键值对。以下是我到目前为止的情况:

function createOfferUrlArray($Offer) {
    $offerArray = array();

    foreach ($Offer as $key => $value) { 
        $keyval = array($key => $value[4] );

        array_push($offerArray,$keyval);
    }

    return $offerArray;
}   

如果我在foreach中声明数组,它将在每次迭代时覆盖它,但是在foreach之外定义它也不起作用并导致三元组:

array[0] => key => value
array[1] => key => value 

我该怎么做才能获得这样的键值对?

key => value
key => value

5 个答案:

答案 0 :(得分:43)

这样的东西?

foreach ($Offer as $key => $value) { 
  $offerArray[$key] = $value[4];
}

答案 1 :(得分:4)

在phpsh命令行上创建键值对,如下所示:

php> $keyvalues = array();
php> $keyvalues['foo'] = "bar";
php> $keyvalues['pyramid'] = "power";
php> print_r($keyvalues);
Array
(
    [foo] => bar
    [pyramid] => power
)

获取键值对的计数:

php> echo count($offerarray);
2

将密钥作为数组获取:

php> echo implode(array_keys($offerarray));
foopyramid

答案 2 :(得分:3)

在foreach中创建键值对,如下所示:

function createOfferUrlArray($Offer) {
    $offerArray = array();

    foreach ($Offer as $key => $value) {
        $offerArray[$key] = $value[4];
    }

    return $offerArray;
}

答案 3 :(得分:1)

在PHP> = 5.3中,可以这样做:

$offerArray = array_map(function($value) {
    return $value[4];
}, $offer);

答案 4 :(得分:-1)

function createOfferUrlArray($Offer) {
    $offerArray = array();
    foreach ($Offer as $key => $value) { 
        $offerArray[$key] = $value[4];
    }
    return $offerArray;
}

function createOfferUrlArray($offer) {
    foreach ( $offer as &$value ) {
        $value = $value[4];
    }
    unset($value);
    return $offer;
}