以下数组包含多种语言和另一个名为“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';}}
答案 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);