使用PHP基于关联数组的键更改一个数组中的值

时间:2012-09-25 11:39:15

标签: php arrays

我希望我的问题能够充分描述我所追求的......

情况如下。我有以下带有值的数组。

categories['t-shirts'] = 10
categories['shorts'] = 11
...

clothing[0] = 't-shirts'
clothing[1] = 'shorts'
...

我想将衣服数组(T恤,短裤)中的值替换为来自categories数组的数字。

干杯

5 个答案:

答案 0 :(得分:4)

foreach($clothing as $key => $val){
    if(isset($categories[$val])){
         $clothing[$key] = $categories[$val];
    }
}

Codepad Example

答案 1 :(得分:0)

你可以使用简单的php

categories[clothing[0]] = "some value"

答案 2 :(得分:0)

从你的问题来看,它看起来像是

$newArray=array_keys($originalArray);

应该这样做。

答案 3 :(得分:0)

$count = count($clothing);
for($i=0; $i<$count; $i++)
    $clothing[$i] = (array_key_exists($clothing[$i], $categories))
        ? $categories[$clothing[$i]] : 0;

用于设置$ clothes而不计数为0

答案 4 :(得分:0)

$categories = array();
$categories['t-shirts'] = 10;
$categories['shorts'] = 11;

$clothing = array();
$clothing[0] = 't-shirts';
$clothing[1] = 'shorts';

array_walk($clothing,
           function(&$value) use($categories) {
               if (isset($categories[$value]))
                   $value = $categories[$value];
           }
);
var_dump($clothing);