2

". "配列で 10 進数またはその一部(ドットとその後のスペース) を検索し、ゼロに置き換えるか、ドットを削除するのを手伝ってもらえますか?

以下は配列の一部です。

Array ( [2] => AUD,ADF,1,06-01-2001,3.,3.9532
        [3] => AUD,ADP,1,06-02-2001,99.8222,99.6682
        [4] => AUD,AED,1,06-01-2001,1.8687,1.8664
        [5] => AUD,AFA,1,06-01-2001,2416.57,2413.95
        [6] => AUD,AFN,1,06-01-2001,2416.57,2413.95
        [7] => AUD,ALL,1,06-01-2001,77.,75.9759
        [8] => AUD,AMD,1,06-03-2001,NULL,NULL
        [9] => AUD,ANG,1,06-01-2001,0.9056,0.9046
        [10] => AUD,AOA,1,06-01-2001,3.0751,2.9961
        [11] =>

[7]のような番号があるので見てください77。またはアット[2]マークがござい3ます。(ドットの後には何もありません)。

4

4 に答える 4

1

str_replaceを使用すると、完全な配列を入力として渡すことができます:

$j = array('AUD,ADF,1,06-01-2001,3.,3.9532','AUD,ADP,1,06-02-2001,99.8222,99.6682','AUD,AED,1,06 -01-2001,1.8687,1.8664','AUD,AFA,1,06-01-2001,2416.57,2413.95','AUD,AFN,1,06-01-2001,2416.57,2413.95','AUD,ALL ,1,06-01-2001,77.,75.9759','AUD,AMD,1,06-03-2001,NULL,NULL','AUD,ANG,1,06-01-2001,0.9056,0.9046' ,'AUD,AOA,1,06-01-2001,3.0751,2.9961');

$j = str_replace(".,", "," , $j);

print_r($j);

出力

Array
 (
[0] => AUD,ADF,1,06-01-2001,3,3.9532
[1] => AUD,ADP,1,06-02-2001,99.8222,99.6682
[2] => AUD,AED,1,06-01-2001,1.8687,1.8664
[3] => AUD,AFA,1,06-01-2001,2416.57,2413.95
[4] => AUD,AFN,1,06-01-2001,2416.57,2413.95
[5] => AUD,ALL,1,06-01-2001,77,75.9759
[6] => AUD,AMD,1,06-03-2001,NULL,NULL
[7] => AUD,ANG,1,06-01-2001,0.9056,0.9046
[8] => AUD,AOA,1,06-01-2001,3.0751,2.9961
)
于 2013-04-15T07:22:56.457 に答える
0

これを行うには、array_walk() と preg_replace() を使用する必要があります。正規表現の式は (.)[,\s] のようなものにする必要があります

于 2013-04-15T07:21:08.150 に答える