创建关联数组


Making associative array

我的目标是从 for 循环的值制作 ant assoc 数组。

//$from_time value is 6 and $to_time value is 23
for ($i = $from_time; $i <= $to_time; $i++) {
        $working_time_array[] = $i;
    }
echo json_encode($working_time_array);

我在 AJAX 成功时得到的输出,当我控制台时.log它,我得到的结果如下:

["6",7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]

首选结果是

["6","7","8","9","10"]... etc

这两个结果之间的唯一区别是一个结果集包含整数,另一个结果集包含字符串。如果您希望这些值是字符串,只需在将它们分配给数组时强制转换它们:

for ($i = $from_time; $i <= $to_time; $i++) {
    $working_time_array[] = (string) $i;
}

除非您的客户端只期望字符串,否则这真的不是必需的。

您需要

先将$i转换为字符串,然后再将其推送到数组。

for ($i = $from_time; $i <= $to_time; $i++) {
        $working_time_array[] = (string)$i;
}

为什么要将 int 转换为字符串?

对于您的目标,这应该有效

for ($i = $from_time; $i <= $to_time; $i++) {
    $working_time_array[] = "$i";
}
echo json_encode($working_time_array);