我有这个数组;
Array (
[0] => (
[1] => he
[2] => +
[3] => is
[4] => +
[5] => genius
[6] => )
[7] => *
[8] => and
[9] => /
[10] => clever )
可以在数组中的每个字母数字字符串之前放置美元符号,链接在这里: Adding dollar sign before each string in array?
现在,是否有可能阻止将美元符号添加到某个字符串中,例如,如果有一个单词,那么数组中的人或者他们不应该添加到这些字符串中?
答案 0 :(得分:4)
关掉你的旧代码,我修改了它:
$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);
答案 1 :(得分:2)
在数组中定义单词:
$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
中,不会更改被阻止的字词。
如果你没有美元符号" list非常大,创建/管理自己的列表是不合理的,那么你应该非常清楚地定义为什么某些东西应该或不应该与$
连接并且可能使用正则表达式的规则。