我有这个this数组;
Array (
[0] => (
[1] => he
[2] => +
[3] => is
[4] => +
[5] => genius
[6] => )
[7] => *
[8] => and
[9] => /
[10] => clever )
可以将美元符号放在数组中每个字母数字字符串之前,链接如下:在数组中的每个字符串之前添加美元符号?
现在,有没有可能阻止美元符号被添加到特定的字符串中,例如,如果数组中有一个单词she、who或they,那么美元符号不应该被添加到这些字符串中?
离开你的旧代码,我修改了它:
$noappend = array("she","who","they"); // add more
// $arr is your array as defined in your question
foreach ($arr as &$val) {
//OR if (ctype_alpha($val[0])) {
if (ctype_alpha($val) && !in_array($val, $noappend)) {
$val = '$' . $val;
}
}
var_dump($arr);
在数组中定义单词:$no_dollar_sign = array('she', 'who', 'they');
循环遍历数组,并使用in_array
将美元符号添加到不在$no_dollar_sign
数组中的字符串中。
foreach($array as $key => $item){
if(!in_array($item, $no_dollar_sign)){
$array[$key] = '$'.$item;
}
}
新值将在$array
中,而不会更改被阻止的单词。
如果你的"无美元符号"列表要大得多,并且创建/管理自己的列表是不合理的,那么你应该非常清楚地定义为什么某些东西应该或不应该与$
连接的规则,并可能使用regex。