[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: замена букв в строке на название массивов
Guest
доброго дня!
пытаюсь сделать таблицу замен. например, чтобы abaabb преобразовалось в 3132
ниже написал, то что пока сделал:
<?php
//исходные данные
$str="abaabb";
$arr=array(
"a"=>array(1),
"b"=>array(2),
"ab"=>array(3),
);



//надо что-то сделать, чтобы получить массив $arr2=array(ab,a,ab,b)
$i=0;
foreach($arr as $key => $val){
$arr2[$i]=...........;
$i++;
}
//проверка результата
foreach($arr2 as $key2 => $val2)
echo($key2.' '.$val2."<br>");

?>



запутался как это сделать.. толи с pregmatch или ststr что-то сделать.. но не выходит.



Спустя 24 минуты, 45 секунд (12.03.2012 - 13:35) Winston написал(а):
$str="abaabb"; 
$arr=array(
"a"=>1,
"b"=>2,
"ab"=>3
);

echo strtr($str, $arr);

Спустя 2 часа, 2 минуты, 9 секунд (12.03.2012 - 15:37) тс написал(а):
Цитата (Winston @ 12.03.2012 - 10:35)
$str="abaabb"; 
$arr=array(
"a"=>1,
"b"=>2,
"ab"=>3
);

echo strtr($str, $arr);




спасибо!
правда подобное надо сделать с многомерным массивом..

//исходные данные
$str="abaabb";
$arr=array(
"a"=>array("a1","a2","a3"),
"b"=>array("b1","b2","b3"),
"ab"=>array("ab1","ab2","ab3"),
);


т.е. результат получить такой
$arr2=array(ab,a,ab,b)

а уже дальше в зависимости от разных условий выводить например
ab1,a3,ab2,b1 или ab4,a2,ab1,b2 и т.д... но это уже потом разбираться буду. а вот как создать такой массив..
сейчас возникает ошибка
The second argument is not an array in
$a=strtr($str, $arr);
print_r $a;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.