如何在数组字符串的末尾添加一些文本?

时间:2015-03-04 04:17:13

标签: php

以下数组包含多种语言和另一个名为“Music”的字符串。我想在cat_name内的每种语言后面添加“新闻”文本。

最后文本应该成为“德国新闻”等,但“音乐”不应该成为“音乐新闻”。

如何为已检查为包含“德语”,“日语”或“中文”的对象cat_name添加“新闻”文本?

密钥编号未知。

array(2) {
  [0]=>
  object(stdClass)#3051 (17) {
    ["cat_name"]=>
    &string(11) "German"
  }
  [1]=>
  object(stdClass)#3068 (17) {
    ["cat_name"]=>
    &string(4) "Chinese"
  }
  [2]=>
  object(stdClass)#3068 (17) {
    ["cat_name"]=>
    &string(15) "Japanese"
  }
  [3]=>
  object(stdClass)#3068 (19) {
    ["cat_name"]=>
    &string(15) "Music"
  }
}

这是我尝试过的代码(没有成功):

foreach ($array as $key=>$cat){
if (in_array($cat->cat_name, array('German', 'Japanese', 'Chinese'))){ $array['cat_name'] .= ' News';}}

2 个答案:

答案 0 :(得分:0)

使用for loop专门用if语句排除Music:     

$array = array(
         array('cat_name' => 'English'), 
         array('cat_name' => 'Music')
         );

for ($i=0; $i < sizeof($array); $i++) {
    if ($array[$i]['cat_name'] != 'Music')
    $array[$i]['cat_name'] .= ' News';
}

print_r($array);

<强>输出

Array
(
    [0] => Array
        (
            [cat_name] => English News
        )

    [1] => Array
        (
            [cat_name] => Music
        )

)

答案 1 :(得分:-1)

$array = array(
         array('cat_name' => 'English'), 
         array('cat_name' => 'Music')
         );

$i=0;
foreach ($array as $key=>$cat){
    if($cat['cat_name'] !='Music'){
        $arrayy[$i]['cat_name'] = $cat['cat_name'].' News';
    } else {
        $arrayy[$i]['cat_name'] = $cat['cat_name'];
    }
    $i++;
}
print_r($arrayy);