3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
1

Изменить каждый элемент массива

24.04.2016, 17:14. Показов 4508. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!

Подскажите, как работают функции preg_replace и array_map. Читал http://php.net/, но всё равно не могу понять, что такое replacement... и как они вообще работают.

Вот я пишу:

PHP
1
2
$a = 'track-01';
print_r(preg_replace("(.*)", '$0.mp3', $a));
Я ожидаю в выводе:
track-01.mp3, но получаю track-01.mp3.mp3. Ну почему два раза то!?

Мне нужно для каждого элемента массива добавить строку в начало и конец, например имеем массив:
PHP
1
$a = array('0' => 'track01', '1' => 'track02');
а нужно чтобы стало:
PHP
1
$a = array('0' => 'C:\track01.mp3', '1' => 'C:\track02.mp3');
Из-за того что не пойму как работают эти функции, не получается сделать... научите, плиз...

Добавлено через 8 минут
Ну вот так так вроде вышло:
PHP
1
print_r(preg_replace("|^(.*)$|", 'C:\\\$0.mp3', $a));
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2016, 17:14
Ответы с готовыми решениями:

Вывести каждый элемент массива в изображение
Ребята подскажите , я в этом деле новичек. Занимаюсь веб разработкой. Есть такая проблемма, есть...

Вычесть каждый элемент массива из следующего по очереди
Здравствуйте! Дан массив: Array ( => 1492984800 => 1493071200 => 1493157600 ) Нужно из каждого...

Вывести в цикле каждый четвертый элемент массива
Доброго времени суток!!! Как при выводе массива в foreach() или for() вывести каждый четвертый...

Массив: В массиве А(N) каждый элемент, кроме первого, заменить суммой всех предыдущих элементов исходного массива.
Помогите с массивом.... В массиве А(N) каждый элемент, кроме первого, заменить суммой всех...

3
Hello Kitty
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
24.04.2016, 17:18 2
PHP
1
2
3
4
5
6
7
8
9
<?php
 
$a = array('0' => 'track01', '1' => 'track02');
 
$a = array_map(function($v) {
    return preg_replace("#^.*$#", 'C:\\\\$0.mp3', $v );
} , $a );
 
print_r( $a );
Добавлено через 18 секунд
http://sandbox.onlinephpfuncti... 69bb17b5dd
1
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
24.04.2016, 17:24 3
может как-то так?
PHP
1
2
3
4
5
6
function add($i){
    return "C:\\".$i.".mp3";
}
 $a = array('0' => 'track01', '1' => 'track02');
 $b = array_map("add", $a);
 var_dump($b);
1
3 / 3 / 11
Регистрация: 17.01.2013
Сообщений: 354
24.04.2016, 17:44  [ТС] 4
Вот этого мне достаточно:
PHP
1
print_r(preg_replace("|^(.*)$|", 'C:\\\$0.mp3', $a));
Я про array_map выше писал, потому что думал, что preg_replace не хватит, а раз она и с массивами работает, то мне с лихвой хватит только её.

Спасибо!
0
24.04.2016, 17:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2016, 17:44
Помогаю со студенческими работами здесь

Изменить каждый положительный элемент массива
Изменить каждый положительный элемент массива A из M чисел, поделив элемент на его номер, а...

Что изменить чтобы каждый элемент массива уменьшился на 20?
#include &lt;iostream&gt; using namespace std; int main() { int mas; int i; for (i=0; i&lt;10; i++)...

Найти средний по величине элемент в множестве элементов массива, в которое входит каждый третий элемент массива
Есть массив из 100 рандомных элементов Нужно найти средний по величине элемент в множестве...

Разделить каждый элемент массива на максимальный по модулю элемент массива
1. Разделить каждый элемент массива целых чисел, в котором не все элементы равны нулю, на самый по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru