【问题标题】:filtering string values from an array for formatting only numbers从数组中过滤字符串值以仅格式化数字
【发布时间】:2013-01-08 20:35:03
【问题描述】:

问题是,我有一个从这个查询中得到的数组:

$secimKrm   =   ("SELECT * FROM kurumlar
INNER JOIN veri_2012_09
ON kurumlar.krmKod  =  veri_2012_09.krmKod
WHERE kurumlar.krmKod = '$krmKod'");
$sonucKrm   =   $mysqliKrm->query($secimKrm);
$row    =   $sonucKrm->fetch_assoc();

“kurumlar”由字符串组成 而“veri_2012_09”由大整数组成。 "veri_2012_09" 有将近 35 列,我不想一一格式化数字。

当我尝试格式化数组“$row”中的数字时,我使用这个:

foreach ($row as $key => $val) {
$row[$key] = number_format($val, 0, ',', '.');
}

它可以工作,但会导致错误,(警告:number_format() 期望参数 1 为双精度,字符串在...中给出),因为我的数组中有字符串。如何在格式化数字之前排除字符串?

【问题讨论】:

    标签: php arrays number-formatting


    【解决方案1】:

    执行is_numeric检查:

    foreach ($row as $key => $val) {
        if (is_numeric($val)) {
            $row[$key] = number_format($val, 0, ',', '.');
        }
    }
    

    所以你的问题不应该是“我怎样才能排除字符串”,而应该是“我怎样才能只包含字符串”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      相关资源
      最近更新 更多