【问题标题】:Print an address based on an format in XML根据 XML 格式打印地址
【发布时间】:2020-07-13 13:24:14
【问题描述】:

我有一个包含三列的数据库表:街道名称、门牌号(可为空)和城市。

我想使用 is 格式打印地址:

正确:“华尔街,11 - 纽约”

正确(门牌号为空):“华尔街 - 纽约”

错误(门牌号为空):“华尔街,-纽约”

我不想使用 if/else 语句,因为我有一些基于国家/地区的不同格式,所以我考虑了 XML。

【问题讨论】:

    标签: php xml


    【解决方案1】:

    因为您有不同的国家/地区的格式,您应该使用sprintf 函数,并将您想要的格式作为第一个参数,然后是其余参数。 示例:

    $format = '%1$s %2$s - %3$s';
    echo sprintf($format, $house, ($number ?  ', '.$number. : ''), $city);
    

    【讨论】:

    • 我很欣赏订购元素的可能性,但有时没有逗号,例如:“11 Wall Street - New York”
    • 您可以定义不同的格式,带逗号或不带逗号,并且始终提供相同数量的参数。例如,您可以跳过参数 2 并仅使用 '%1$s - %3$s'
    【解决方案2】:

    您可以尝试通过以下方式使其通用:

    echo $street . ' ' . $number ? ',' . $number : '' . $city ? ' - ' . $city : ''; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-29
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-25
      • 2012-10-27
      • 1970-01-01
      相关资源
      最近更新 更多