Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 返回单值多维数组_Php_Multidimensional Array - Fatal编程技术网

Php 返回单值多维数组

Php 返回单值多维数组,php,multidimensional-array,Php,Multidimensional Array,我正试图建立一个自定义的邮政编码搜索来查找送货费,但我似乎做不好 首先,这是我在前端设置表单的方式: <form class="delivery-fee" role="search" method="get" action=""> <div class="form-group"> <label>Find Your Delivery Area:</label> <input class="form-con

我正试图建立一个自定义的邮政编码搜索来查找送货费,但我似乎做不好

首先,这是我在前端设置表单的方式:

<form class="delivery-fee" role="search" method="get" action="">
    <div class="form-group">
        <label>Find Your Delivery Area:</label>
        <input class="form-control" type="number" value="" name="zipcode" placeholder="Enter Zipcode" pattern="\d*" />
        <input type="submit" value="See Delivery Minimum" />
    </div>
</form>
这就是我循环浏览数据的方式:

foreach ($delivery_areas as $key => $delivery_area) {
    if (is_array($delivery_area)) {
        if (in_array($_GET['zipcode'], $delivery_area['zipcodes'])) {
            echo $delivery_area['fee'];
        } else {
            echo 'Error message';
        }
    }
}
我遇到的问题是,如果我搜索了91701,我确实得到了正确的费用,但我也得到了错误消息。另一方面,如果什么也没有找到,我还会收到两条错误消息


关于如何获得所需结果,您有什么建议吗?

您可以通过使用变量来调整代码,例如:

$fee = -1;
foreach ($delivery_areas as $key => $delivery_area) {
    if (is_array($delivery_area)) {
        if (in_array($_GET['zipcode'], $delivery_area['zipcodes'])) {
            $fee = $delivery_area['fee'];
            break;
        }
    }
}

if($fee == -1)
    echo 'Error message';
else
    echo $fee;
测试:

$fee = -1;
foreach ($delivery_areas as $key => $delivery_area) {
    if (is_array($delivery_area)) {
        if (in_array($_GET['zipcode'], $delivery_area['zipcodes'])) {
            $fee = $delivery_area['fee'];
            break;
        }
    }
}

if($fee == -1)
    echo 'Error message';
else
    echo $fee;
$fee = 0;
foreach ($delivery_areas as $key => $delivery_area) {
    if (is_array($delivery_area) && in_array($_GET['zipcode'], $delivery_area['zipcodes'])) {
        $fee = $delivery_area['fee']; break;
    }
}

echo $fee!=0 ? $fee : 'Error Message';