Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод элементов массива в окно браузера
 
 автор: prosaic   (19.03.2007 в 12:16)   письмо автору
 
 

есть мета-данные. которые представляют собой массив типа array(name,properties,content).

строка состоит из таких массивов с разными данными)

проблема состоит в том что я не знаю как обращаться к массиву в строке по имени чтобы получить все данные массива) глупый вопрос, но я не понимаю.

предистория:

была строка "first второй 3"
преобразованная в array('text','english','first') array('text','russian','второй') array('num','none','3')

подскажите, пожалуйста.

   
 
 автор: cheops   (19.03.2007 в 12:42)   письмо автору
 
   для: prosaic   (19.03.2007 в 12:16)
 

Не очень, если честно, понятно, что вызывает сложности?

   
 
 автор: prosaic   (19.03.2007 в 12:56)   письмо автору
 
   для: cheops   (19.03.2007 в 12:42)
 

когда я пишу echo $str; где $str это получаемая строка у меня выводится arrayarrayarrayarray.
если print_r($str) - тоже самое. делаю ли я ошибку при замене текста на массив в строке, используя str_replace() ?
если нет, то:
как получить данные из массива, указывая только ключ name?
если да, то:
как мне поступить?

   
 
 автор: Trianon   (19.03.2007 в 13:02)   письмо автору
 
   для: prosaic   (19.03.2007 в 12:56)
 

Приведите пример поточнее.
Напишите массив, который у Вас есть. $arr = array( ...
Ключи, которые на входе.
И строку, которую хотите получить.
Потому что, по тем данным которые Вы привели, достоверно не определить даже то, числовой у Вас массив или ассоциативный.

   
 
 автор: prosaic   (19.03.2007 в 13:17)   письмо автору
 
   для: Trianon   (19.03.2007 в 13:02)
 

preg_match_all("|<[^>](.*)+>|U", $nstr, $out, PREG_SET_ORDER);

$n=count($out)-1;

for ($i=0;$i<=$n;$i++)
{

$ar1 = $out[$i][0];

$ar2 = str_replace("<","",$ar1);
$ar2 = str_replace(">","",$ar2);


preg_match_all("[\S+]", $ar2, $outar, PREG_SET_ORDER);

$m=count($outar)-1;

if ($m>0)
{
$ar0 = $outar[0][0]; //тег

$ar2 = "";

for ($y=1;$y<=$m;$y++) {

if ($y>1) {

$ar2 = $ar2." ".$outar[$y][0]; //свойства

} else {

$ar2 = $outar[$y][0]; //свойства

}
}

} else {

$ar0 = $outar[0][0]; //тег
}
$my = array('tag'=>$ar0,'cont'=>$ar1,'prop'=>$ar2);

$ny = array($i=>$my);

$nstr = str_replace($my["cont"],"{$ny[$i]}",$nstr);

}

echo $nstr;

вот код. мне кажется что в нём где-то есть синтаксическая ошибка. потому что на выходе получается не то, что задумано.
на входе теги с текстом. разбиваются на массивы: текст, теги со свойствами (array(tag,cont,prop)). далее заменяю строку с тегами и текстом на массивы.
вывожу массив. получаю arrayarrayarrayarrayarray

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования