gpt4 book ai didi

php - 调整数组时循环逻辑出错

转载 作者:行者123 更新时间:2023-11-29 00:47:57 25 4
gpt4 key购买 nike

我有一个数组,该数组以我无法更改的表中的 int 类型表示 UNIX 时间。有些行不是完整的 UNIX 时间戳,而是短了几个整数。表中出现这种情况是有原因的,但对于我的脚本,我需要字符串将非 10 位数字的行更改为“0”,将 10 位数字的行更改为 date("Ymd",?) 形式。下面是数组 $qucls 的示例:

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
)

这是脚本:

$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] => 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
)

注意日期形式的格式正确,直到它到达 strlen < 10 的第一个整数。此时,它将长度小于 10 的整数更改为正确的“0”,但之后的日期被搞砸了.它继续将 < 10 位数字正确更改为 0。

谁能帮我弄清楚这个循环有什么问题?在 ELSE 开始后,我对所有 1970 年的日期都不太满意。我还是新手。

谢谢。

最佳答案

使用下面的脚本

<?php
$qucls = 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
);

foreach ($qucls as $key=>$value){
if (strlen($value)< 10){
$dt[] = 0;
}else{
$dt[] = date("Ymd", $value);
}
}
echo "<pre>";
print_r($array);
print_r($dt);
exit;
?>

你会得到下面的输出

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] => 20120315
[13] => 0
[14] => 0
[15] => 0
[16] => 20120320
[17] => 0
[18] => 20130226
)

关于php - 调整数组时循环逻辑出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9781851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com