我想在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
答案 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;
}