Задать вопрос
Bowen
@Bowen
Японский бог

Как правильно разобрать каждый элемент из массива?

Привет!

Передо мной стоит задача разобрать каждый элемент из массива, но вот не знаю как это сделать. Помогите пожалуйста мне решить данную задачу.

=||text1=3:30||text2=3:30||text3=3:20||text4=3:21 Нужно удалить все ненужные элементы (а это все кроме цифр) и чтобы результат был таким:
1. 3*4 = 12
2. 30+30+20+21 = 101

Результат: 101/12 = 8.4(тут еще наверное выдаст копейки, было бы очень здорово если бы результат получился без них).

Буду очень благодарен за помощь!
  • Вопрос задан
  • 2198 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
<?php

$str = trim('=||text1=3:30||text2=3:30||text3=3:20||text4=3:21', '=|');
$data = array_map(function ($chunk) {
    $chunk = explode('=', $chunk);
    $values = explode(':', $chunk[1]);
    return [
         'count' => $values[0], // без понятия что это
         'val' => $values[1]
    ];
}, explode('||', $str));


ideone.com/eqLRQA

либо регуляркой внутри array_map. Что-то типа
/(\w+)=(\d+):(\d+)/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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