在 Drupal 8 上创建多个 if else array_key_exists 条件

Creating multiple if else array_key_exists condition on Drupal 8

我想知道如何创建多个 if else array_key_exists 条件。他们有不同的目的。第一个条件将重定向添加到内部页面,而第二个条件提供到外部页面的重定向。第二个条件检查数组中的值是否与将重定向到外部页面的条件匹配。

$shortCodes = [
    "/careers-aim"                   => 'careers-aim/faculty-postings',
    // need to fix this part
    "/node/15"                       => 'careers-aim/faculty-postings',
    "/alumni"                        => 'alumni/triple-a',
    "/scholarship-and-financial-aid" => "admissions/scholarship-and-financial-aid",
    "/asianforum"                    => "http://asianforum2018.com/",
];


$urlPath = Drupal::service('path.current')->getPath();
if (array_key_exists($urlPath, $shortCodes)) {
    _redirect(base_path() . $shortCodes[$urlPath]);
}

if (array_key_exists($urlPath, $shortCodes == "/asianforum")) {
    _redirect("http://asianforum2018.com/");
}

由于完全限定的 url 将以 http...

开头
if (array_key_exists($urlPath, $shortCodes)){
    if (substr($shortCodes[$urlPath], 0, 3) === "http"){
            _redirect($shortCodes[$urlPath]);
        } else {
            _redirect(base_path() . $shortCodes[$urlPath]);
        }
}