最好使用什么:str_replace,没有str_replace或任何其他选项?
例如,我有一个非空的数组,由php基于XML文件生成,我有一个需要更改的变量。如果值在数组中且变量具有标准值,则该值应更改为其他值(转换,其他字等)。
我可以使用以下代码执行此操作:
<?php
$ethnic_later = 'niet opgegeven';
$ethnic_array = array( 'Blank',
'getint',
'Aziatisch',
'Zuid-Amerikaans'
);
if (in_array('Blank', $ethnic_array) && $ethnic == 'Blank'){
$ethnic = str_replace($ethnic, 'blanke', $ethnic);
}elseif (in_array('getint', $ethnic_array) && $ethnic == 'getint'){
$ethnic = str_replace($ethnic, 'getinte', $ethnic);
}elseif (in_array('Aziatisch', $ethnic_array) && $ethnic == 'Aziatisch'){
$ethnic = str_replace($ethnic, 'Aziatische', $ethnic);
}elseif(in_array($ethnic, $ethnic_array) && $ethnic == 'Zuid-Amerikaans'){
$ethnic = str_replace($ethnic, 'Zuid Amerikaanse', $ethnic);
}else{
$ethnic = str_replace($ethnic, $ethnic_later, $ethnic);
}
echo 'een mooie ' . $ethnic . ' kleur';
?>
或者我可以在不使用下面的php函数$ethnic
的情况下覆盖str_replace()
的值:
<?php
$ethnic_later = 'niet opgegeven';
$ethnic_array = array( 'Blank',
'getint',
'Aziatisch',
'Zuid-Amerikaans'
);
if (in_array('Blank', $ethnic_array) && $ethnic == 'Blank'){
$ethnic = 'blanke';
}elseif (in_array('getint', $ethnic_array) && $ethnic == 'getint'){
$ethnic = 'getinte';
}elseif (in_array('Aziatisch', $ethnic_array) && $ethnic == 'Aziatisch'){
$ethnic = 'Aziatische';
}elseif(in_array($ethnic, $ethnic_array) && $ethnic == 'Zuid-Amerikaans'){
$ethnic = 'Zuid Amerikaanse';
}else{
$ethnic = $ethnic_later;
}
echo 'een mooie ' . $ethnic . ' kleur';
?>
有更多可能让这样的事情发挥作用,我在上面发布了2 ...我相信不使用str_replace()
的最后一个选项比使用str_replace()
更快...
我的问题:使用
PHP
做我想做的事情的最佳方法是什么?你如何做这类任务?
答案 0 :(得分:0)
创建一个数组,该数组由您在$ ethnic中所期望的值编制索引,并包含您希望$ ethnic变量映射到的字符串,如下所示:
temp->next->data
如果要添加更多$ ethnics,请向阵列添加更多元素。