0

問題は、このクエリから取得した配列があることです:

$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 列あり、数値を 1 つずつ書式設定したくありません。

配列「$row」で数値をフォーマットしようとすると、これを使用します。

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

動作しますが、エラーが発生します (警告: number_format() は、パラメーター 1 が倍精度で、文字列が指定されていることを期待しています... )。これは、配列に文字列が含まれているためです。数値をフォーマットする前に文字列を除外するにはどうすればよいですか?

4

1 に答える 1

5

is_numeric次のようなチェックを実行します。

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

したがって、質問は「文字列を除外するにはどうすればよいですか」ではなく、「文字列のみを含めるにはどうすればよいですか」であるべきです。

于 2013-01-08T20:36:56.313 に答える