簡體   English   中英

如何使用 PHP 分隔街道名稱和門牌號碼?

[英]How do I seperate street names and house numbers with PHP?

在德國,我們有街道名稱和門牌號碼。 我使用一個數據庫,其中兩者都存儲在一個列中(例如“Arnoldstraße 12”),我想將它們分成單個變量。

我有這個代碼:


$street= $row[2]; //This row is from an array with values of the database. The other rows are submitted perfectly.
preg_match('/([^\d]+)(\d+.*)/', $street, $matches);
$street_new = trim($matches[1]);
$house_number= trim($matches[2]);  

while ($row = $jobDB->fetchArray($result)) {
        $this->setReturnValue('strasse', $street_new);
        $this->setReturnValue('hausnummer', $house_number);
        return;
    }

之后,我使用 JS 代碼將其(以及更多值)放入網站上的表單中。 其他值沒有問題,只是缺少街道名稱和門牌號碼。

這是JS代碼:


var auto_complete = function() { 
    var kontonr = jr_get_value('tb_kundennummer');
    jr_execute_dialog_function('autoComplete', {kontonummer: kontonr}, mySuccessCallback);    
}

var mySuccessCallback = function(returnObject) {
    jr_set_value('tb_kunde_strasse', returnObject.result.street_new); 
    jr_set_value('tb_kunde_hausnummer', returnObject.result.house_number);
}

我究竟做錯了什么?

先感謝您: :)

好的,我找到了解決方案。 將代碼添加到while循環后,它運行良好:

      while ($row = $jobDB->fetchArray($result)) {            
          $street= $row[2];
          preg_match('/([^\d]+)(\d+.*)/', $street, $matches); 
          $street= trim($matches[1]);
          $house_number= trim($matches[2]);
            
          $this->setReturnValue('strasse', $street);
          $this->setReturnValue('hausnummer', $house_number);

        return;
    }

我不是一個開發人員,但可能是因為 $row 只有在 fetchArray 之后調用時才有效。 但我不確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM