Создание ассоциативного массива

Моя цель — сделать массив ant assoc из значений цикла for.

//$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, и когда я его укачиваю, я получаю результат как таковой:

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

Предпочтительный результат

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

0

Решение

Единственное различие между этими двумя результатами состоит в том, что один набор результатов содержит целые числа, а другой содержит строки. Если вы хотите, чтобы эти значения были строками, просто приведите их при назначении массива:

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

Это действительно не должно быть необходимо, если ваша клиентская сторона ожидает только строки.

5

Другие решения

Вам нужно преобразовать $ i в строку, прежде чем помещать ее в массив.

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

зачем конвертировать int в строку?

для вашей цели это должно работать

for ($i = $from_time; $i <= $to_time; $i++) {
$working_time_array[] = "$i";
}
echo json_encode($working_time_array);
0
По вопросам рекламы [email protected]