我有一个数组,其中每个值都以场地名称开头。一些场地有一个""在我想要删除的前面,以便当我sort()
数组时,我不会最终得到所有的" ..."在" T"。
我写了这个:
function remove_The($array) {
global $all_venue_listings;
// remove the "The" from the listings...
foreach($all_venue_listings as $v) {
if ( substr($v, 0, 4) === "The " || substr($v, 0, 4) === "the " || substr($v, 0, 4) === "THE " ) {
$v = preg_replace("/The /i","",$v);
}
}
return $all_venue_listings;
}
但是,似乎并没有将更改的值放回到数组中。如何在foreach
循环中对数组进行操作,以便我更改的内容返回原始数组?
我尝试用此替换preg_replace
行:
$all_venue_listings[] = preg_replace("/The /i","",$v);
但是这只是在数组中创建了一个重复的条目(一个用""一个没有)。
答案 0 :(得分:3)
两个选项。
1)使用引用并直接更新元素(注意for j in range(1, minimum):
v=minimum/j
if (v).is_integer()==True:
llist.append(v)
llist.append(j)
else:
pass
if llist(j)==True:
indexmin=llist(j)
listofmulmin.append(minimum*indexmin)
else:
pass
):
&
2)使用密钥并更新原始数组:
foreach($all_venue_listings as &$v) {
...
$v = ...
要么工作。我更喜欢#1