PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Описание: добавить некий текст к элементу массива
Поиск в теме | Версия для печати
Belohalatny
Отправлено: 14 Декабря, 2011 - 21:15:47
Гость
Покинул форум
Сообщений всего: 84
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Всем привет!
есть у меня массив, в котором есть элементы вида:
А мне нужно подставить в начало каждого элемента base/au/3/, чтобы получилось так:
CODE (
html ):
скопировать код в буфер обмена
[1] => base/au/3/743/140
[2] => base/au/3/742/118
[3] => base/au/3/741/118
[4] => base/au/3/740/112
[5] => base/au/3/739/112
Подскажите, пожалуйста, как сделать?
Belohalatny
Отправлено: 14 Декабря, 2011 - 22:48:52
Гость
Покинул форум
Сообщений всего: 84
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Да, с одним массивом получилось, а вот как сделать, если их много (более 100 таких), не могу врубиться...
CODE (
html ):
скопировать код в буфер обмена
[0] => Array
(
[0] => Array
(
[1] => Array
(
[0] => base/au/3/710/708
)
[2] => Array
(
[0] => 2011
)
)
)
[1] => Array
(
[0] => Array
(
[1] => Array
(
[0] => 744/149
[1] => 743/140
[2] => 742/118
[3] => 741/118
[4] => 740/112
[5] => 739/112
[6] => 738/79
[7] => 737/79
[8] => 736/73
[9] => 735/73
[10] => 734/58
[11] => 733/58
[12] => 732/5
[13] => 731/5
[14] => 730/22
[15] => 729/23
[16] => 728/23
[17] => 727/24
[18] => 726/24
[19] => 725/24
)
[2] => Array
(
[0] => 1994
[1] => 1993
[2] => 1992
[3] => 1991 4A-M-000 001 >>
[4] => 1991 >> 44-M-050 000
[5] => 1990
[6] => 1989
[7] => 1988 44-J-200 100 >>
[8] => 1988 >> 44-J-200 099
[9] => 1987
[10] => 1986
[11] => 1985
[12] => 1984
[13] => 1983
[14] => 1982
[15] => 1981
[16] => 1980
[17] => 1979
[18] => 1978
[19] => 1977
)
)
)
[2] => Array
(
[0] => Array
(
[1] => Array
(
[0] => 723/139
[1] => 722/139
[2] => 721/119
[3] => 720/119
[4] => 719/88
[5] => 718/88
[6] => 717/88
[7] => 716/88
[8] => 715/62
[9] => 714/62
[10] => 713/62
[11] => 712/62
)
[2] => Array
(
[0] => 1994
[1] => 1993
[2] => 1992
[3] => 1991 4A-M-000 001 >>
[4] => 1991 >> 44-M-050 000
[5] => 1990
[6] => 1989
[7] => 1988 44-J-200 100 >>
[8] => 1988 >> 44-J-200 099
[9] => 1987
[10] => 1986
[11] => 1985
)
)
)
[3] => Array
(
[0] => Array
(
[1] => Array
(
[0] => 751/248
[1] => 750/248
[2] => 749/248
[3] => 748/248
[4] => 747/248
[5] => 746/248
)
[2] => Array
(
[0] => 2005
[1] => 2004
[2] => 2003
[3] => 2002
[4] => 2001
[5] => 2000
)
)
)
Panoptik
Отправлено: 14 Декабря, 2011 - 23:04:19
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011
Откуда: Одесса, Украина
Помог: 131 раз(а)
PHP:
скопировать код в буфер обмена
function add_url( & $array ) {
foreach ( $array as $key => $item ) {
$array [ $key ] = "base/au/3/" . $item ;
add_url( $item ) ;
}
}
}
}
чтото типа этого, хотя чувствую нужно немного доработать(Отредактировано автором: 14 Декабря, 2011 - 23:10:22)
DlTA
Отправлено: 14 Декабря, 2011 - 23:06:23
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
PHP:
скопировать код в буфер обмена
function addPred( $inProp ) {
foreach ( $inProp as $key => $item ) {
$inProp [ $key ] = addPred( $item ) ;
}
}
else {
$inProp = "base/au/3/" . $inProp ;
}
}
return $inProp ;
}
CODE (
text ):
скопировать код в буфер обмена
array
0 => string 'base/au/3/123/123' (length=17)
1 =>
array
0 => string '123' (length=3)
1 => string 'base/au/3/123/213' (length=17)
(Добавление)
Panoptik
а это в эту тему?
Panoptik пишет: function add_url(/2jmj7l5rSw0yVb-vlWAYkK-YBwk=Zm9ydW0vJiRhcnJheQ) {
if(count($array)){
foreach($array as $key => $item) {
if(strpos($item,'/')) {
$array[$key]="base/au/3/".$item;
} elseif(isarray($item) {
add_url(/2jmj7l5rSw0yVb-vlWAYkK-YBwk=Zm9ydW0vJGl0ZW0);
}
}
}
}
Belohalatny
Отправлено: 14 Декабря, 2011 - 23:13:23
Гость
Покинул форум
Сообщений всего: 84
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Хм, ни первая, ни вторая функции не сработали. Первая выдала кучу ошибок, вторая сработала без них, но ничего не поменялось. Вызывал вот так:
PHP:
скопировать код в буфер обмена
function addPred( $inProp ) {
foreach ( $inProp as $key => $item ) {
$inProp [ $key ] = addPred( $item ) ;
}
}
else {
$inProp = "base/au/3/" . $inProp ;
}
}
return $inProp ;
}
addPred( $years ) ;
или нужно было указать массив с ключами?
Belohalatny
Отправлено: 14 Декабря, 2011 - 23:17:57
Гость
Покинул форум
Сообщений всего: 84
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Вот как скопировал в свое предыдущее сообщение код, абсолютно так же и использовал.
Результата нет, все старые значения ключей остались как были.
(Добавление)
пример вызова.
Belohalatny
Отправлено: 14 Декабря, 2011 - 23:22:22
Гость
Покинул форум
Сообщений всего: 84
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Panoptik пишет: потому что функция вернет новый массив, верните значение в новый массив или в старый, и тогда смотрите результат
Не понял ничего, если честно
Вот так надо сделать, после выполнения ф-ции например:
?
Поиск в теме | Версия для печати
Страниц (4): [1] 2 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB