0

我有一个数组说 array1(asd,ard,f_name,l_name) 现在我想将一些值替换为

asd 与协议开始日期

f_name 与名字。

l_name 与姓氏。

我所做的是这个,但它没有检查第二个 if 条件

  for($i = 0; $i < count($changedvalue);$i++){
  //Check if the value at the 'ith' element in the array is the one you want to change
//if it is, set the ith element to some value
if ($changedvalue[$i] == 'asd')
   {$changedvalue[$i] = 'Agreement Start Date';}
   elseif ($changedvalue[$i] == 'ard')
   {$changedvalue[$i] == 'Agreement Renewal Date';}
 }
4

3 回答 3

2

你可以这样做:

foreach ($changedvalue as $key => $value)
{
     switch ($value)
     {
            case('asd'):
                $changedvalue[$key]='Agreement Start Date';
                break;
            case('f_name'):
                $changedvalue[$key]='first name';
                break;
            case('l_name'):
                $changedvalue[$key]='last name';
                break;
     }
}

这样,如果旧值等于重置值之一,则遍历数组中的每一行并将值设置为新值。

于 2012-07-24T11:27:01.150 回答
1

你的最后一句话有错别字。'==' 应该是赋值运算符 '='

于 2012-07-24T11:22:13.187 回答
0

您当前代码的问题是==最后一行应该是=.

但是,我建议将您的代码更改为以下内容:

$valuemap = array(
   'asd' => 'Agreement Start Date',
   'f_name' => 'first name', 
    // and so on...
);

function apply_valuemap($input) {
    global $valuemap;
    return $valuemap[$input];
}

array_map('apply_valuemap', $changedvalue);

这样,添加更多要替换的值就更容易了。

于 2012-07-24T11:31:09.607 回答