0

我通过 GET 方法将字符串从客户端发送到服务器。它是一条街道,并以如下格式构建编号:

Lenina, 51

在服务器上我解析它:

    $str = $_GET["street"];
    $adr_array = preg_split("/[\s,]+/", $str);
    $street = $adr_array[0];
    $build = $adr_array[1];
    if($build!=null){
...do something....
}

但如果我只得到:

Lenina

当然我得到错误,$adr_array[1]因为不存在。
在这种情况下如何处理我没有内部版本号?

4

2 回答 2

2

您可以检查是否在数组中设置元素:

//Your code omitted
$build = isset($adr_array[1]) ? $adr_array[1] : null;
//Your code omitted

PS你确定要接收这样的街道和楼号吗?也许您想要单独的输入字段?我建议这样做,因为它会使你的代码更干净。但这只是建议,因为我不知道您的 UI 是什么样的。

于 2013-07-01T10:55:50.293 回答
1

您可以使用array_key_exists

if(array_key_exists(1, $adr_array)){
     //Street number given
}

或者像这样:

$build = array_key_exists(1, $adr_array) ? trim($adr_array[1]) : null;
于 2013-07-01T10:56:50.957 回答