1
私は変更できないテーブルからのint型のUNIX時刻を表す配列を持っています。いくつかの行は完全なUNIXタイムスタンプではありませんが、いくつかの整数ではありません。これはテーブルにある理由ですが、私のスクリプトでは、10桁以外の行を "0"に、10桁を日付( "Ymd"、?)形式に変更する文字列が必要です。日付の形式が正しくフォーマットされ配列を調整しているときにループロジックが間違っています
Array
(
[0] => 20120324
[1] => 20120305
[2] => 20120308
[3] => 20120309
[4] => 20120324
[5] => 20120307
[6] => 20120325
[7] => 20120309
[8] => 20120306
[9] => 20120320
[10] => 20120322
[11] => 0
[12] => 19700101
[13] => 0
[14] => 0
[15] => 0
[16] => 19700817
[17] => 0
[18] => 19700101
)
注意:これは、ループ後の結果が
$k=0
$l=0
foreach ($qucls as $dt[$k]){
if (strlen($dt[$k]) < 10)
$dt[$k++] = '0';
else {$dt[$k++] = date("Ymd", $dt[$l++]);
}
}
for ($l=0; $l < $k; $l++){
}
です:これはスクリプトである
Array
(
[0] => 1332594303
[1] => 1330960502
[2] => 1331227649
[3] => 1331305503
[4] => 1332594303
[5] => 1331147102
[6] => 1332680702
[7] => 1331301902
[8] => 1331048163
[9] => 1332248704
[10] => 1332421503
[11] => 31536000
[12] => 1331816703
[13] => 604800
[14] => 0
[15] => 31536000
[16] => 1332248703
[17] => 31536000
[18] => 1361922903
)
:ここでは配列$ quclsの例を示します。それがstrlen <である第1の整数に達するまで続けます。その時点で、10未満の長さの整数を「0」に変更します。これは正しいですが、その後の日付は失効します。それは< 10桁のものを0に正しく変更し続けます。
誰かがこのループで何が間違っているのか理解できますか?私はELSEが始動した1970年代のすべての日々で正しい結果を得ていません。私はまだこれで新しいです。
ありがとうございます。
高速答えと私のために学ぶのは良いを取得します。ありがとうneeraj! – defacto7