只知道字符串的一部分,更改数组中值的一部分

Change portion of value within an array knowing only part of string

$array = array("josh&&3", "mary&&5", "cape&&4", "doggy&&8", etc..);

而且我只知道&&之前的字符串是用户名。 $str = "mary&&"; 注意不知道&&

后面是什么

我想知道数组中是否存在,如果存在则将值更改为新值,例如 mary&&7

$isExists = preg_match("/$str/", $array);
if ($isExists){
echo "Its exists";
} else {
echo "Not exixts" 
} ;

如何更改 mary&&5 中 && 之后的值部分或将 mary&&5 完全更改为 mary&&7 因为我事先不知道值 mary&&5?

迭代数组并对每个项目应用以下正则表达式。

preg_replace("~(?<=$str&&).*~", '7', $str);