删除"""从数组值到按字母顺序排序

时间:2016-06-05 03:08:04

标签: php arrays

我有一个数组,其中每个值都以场地名称开头。一些场地有一个""在我想要删除的前面,以便当我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);

但是这只是在数组中创建了一个重复的条目(一个用""一个没有)。

1 个答案:

答案 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