有没有更有效的方法来编写这段php代码?

有没有更有效的方法来编写这段php代码?,php,arrays,performance,Php,Arrays,Performance,是否有一种更高效/优雅的方式来编写这段代码: $arr1 = array( "weedoit3", "alambic3", "darwinefficiencyscared", "darwinmoneyscared", "darwin5scared"); $arr2 = array( "darwingouroo", "weedoit4", "darwin5",

是否有一种更高效/优雅的方式来编写这段代码:

$arr1 = array(
        "weedoit3",
        "alambic3",
        "darwinefficiencyscared",
        "darwinmoneyscared",
        "darwin5scared");

$arr2 = array(
        "darwingouroo",
        "weedoit4",
        "darwin5",
        "darwinefficiency",
        "darwinmoney",
        "pj_half",
        "pj_pole");

$imgArray = array(
        '<img src="images/mail26bg.jpg" width="1440" height="810" class="thiefBg" />',
        '<img src="images/mail25bg.jpg" width="819" height="1024" class="thiefBg" />',
        '<img src="images/mai01.jpg" width="1440" height="960" class="thiefBg" />',
        '<img src="images/mai02.jpg" width="1440" height="960" class="thiefBg" />',
        '<img src="images/mai03.jpg" width="1440" height="1081" class="thiefBg" />');

if (in_array($_GET['ref'], $arr1)) {
    echo $imgArray[0];
}
else if (in_array($_GET['ref'], $arr2)) {
    echo $imgArray[1];
}
else if ($_GET['ref'] == "darwin4" || $_GET['ref'] == "darwinenquete") {
    echo $imgArray[2];
}
else if ($_GET['ref'] == "darwinscared") {
    echo $imgArray[3];
}
else if ($_GET['ref'] == "mai03") {
    echo $imgArray[4];
}
$arr1=数组(
“weedoit3”,
“alambic3”,
“亲爱的,我害怕”,
“达尔文害怕”,
“达尔文五世”);
$arr2=数组(
“Darvingouroo”,
“weedoit4”,
“达尔文5号”,
“达尔文效率”,
“达尔文金钱”,
“pj_一半”,
“pj_pole”);
$imgArray=数组(
'',
'',
'',
'',
'');
if(在数组中($\u GET['ref'],$arr1)){
echo$imgaray[0];
}
else if(在数组中($\u GET['ref'],$arr2)){
echo$imgaray[1];
}
如果($_GET['ref']=“darwin4”|$_GET['ref']=“darwinenquete”){
echo$Imgaray[2];
}
如果($_GET['ref']==“Darwins”){
echo$imgaray[3];
}
如果($_GET['ref']==“mai03”){
echo$imgaray[4];
}

制作一张索引的参考地图

$refMap = Array('weedoit3' => 0, 'alambic' => 0, ... 'mai03' => 4);

echo $imgArray[$refMap[$_GET['ref']]];

将ref映射到index

$refMap = Array('weedoit3' => 0, 'alambic' => 0, ... 'mai03' => 4);

echo $imgArray[$refMap[$_GET['ref']]];

总是比数组中的
isset

因此,您可以这样定义查找数组:

<?php
// Trick here: Use your values as keys and assign them an empty string:
$arr1 = array('weedoit3' => '',
              'alambic3' => '',
              // ...
             );

// Then the check:
if(true === isset($arr1[$_GET['ref'])
{
    // do whatever
}

总是比数组中的
isset

因此,您可以这样定义查找数组:

<?php
// Trick here: Use your values as keys and assign them an empty string:
$arr1 = array('weedoit3' => '',
              'alambic3' => '',
              // ...
             );

// Then the check:
if(true === isset($arr1[$_GET['ref'])
{
    // do whatever
}

谢谢,这正是我需要的。谢谢,这正是我需要的。