@rdzh
IT

Как преобразовать в другой тип значения массива в цикле?

Имеется динамический формирующийся массив в следующем виде (данный массив формируется посредством выборки из БД MySQL):
Array
(
    [0] => Array
        (
            [0] => 2018-10-10
            [1] => 6001
        )

    [1] => Array
        (
            [0] => 2018-10-11
            [1] => 5500.68
        )

    [2] => Array
        (
            [0] => 2018-10-09
            [1] => 6000
        )

    [3] => Array
        (
            [0] => 2018-10-12
            [1] => 6000
        )

    [4] => Array
        (
            [0] => 2019-02-15
            [1] => 12313.11
        )

)


Необходимо преобразовывать его в следующие вид:
[["10.10.2018", 6001],["11.10.2018", 5500.68],["09.10.2018", 6000],["12.10.2018", 6000],["15.02.2019", 12313.11]]

где "10.10.2018" дата в строковом представлении, а 6001 - число.

Пробовал использовать json_encode, он все преобразовывает в строковый тип.
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
t-alexashka
@t-alexashka
Сразу пишу legacy код
<?php

$arrOld = [["2018-10-10", "6001"],["2018-10-11", "5500.68"],];
$arrNew = [];
foreach($arrOld as $arr) {
	$arrNew[] = [date('d.m.Y', strtotime($arr[0])), (float) $arr[1]];
}
unset($arrOld);

echo '<pre>';
print_r($arrNew);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
База данных не настолько тупая, как многие думают.
Данные в нужном формате можно получить сразу из запроса. Для даты можно использовать date_format(date, '%d.%m%Y') в запросе.
А вот вот цену я бы настоятельно не рекомендовал преобразовывать в какой-бы то ни было другой формат. Могут быть неприятности.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы