1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Проблема с присваиванием переменной(

Тема в разделе "Web Coding", создана пользователем willnuke, 2 янв 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. willnuke

    willnuke Прохожие

    Пожалуйста помогите:
    PHP:
     $n=$mesto[$k];
            
    $i=$mesto[$k+1];
            for (
    $n;$n<$i$n++)
            {
                if (
    $data[$n][0][1]=="podrazd")
                {

                    
    $datat2[]=$data[$n][0][2];
                    
    $mesto2[]=$n;
                }

            }
            
    var_dump("$datat2");
            
    $mesto2[]=$i;
    Это полный код.
    Больше всего интересует вот эта часть:
    PHP:
      $datat2[]=$data[$n][0][2];
    Значение $data[$n][0][2] это строка
    а вот при присваивание $datat2[] и его выводе вар дампом происходит следущее:
    string(5) "Array"
    т.е он присваивает ему просто слово array, а мне нужно чтобы присваивало значения содер в $data[$n][0][2]
    Пожалста помогите.....
    Если кому нужно то полный код

    PHP:
     for ($k=0;$k<$f;$k++)
        {
          echo 
    "<a href="adr"?lev1_v=",$mesto[$k], ";",  $mesto[$k+1], ";"$datat[$k], "\">",$datat[$k], "<br><br></a>";
            
    $n=$mesto[$k];
            
    $i=$mesto[$k+1];
            for (
    $n;$n<$i$n++)
            {
                if (
    $data[$n][0][1]=="podrazd")
                {

                    
    $datat2[]=$data[$n][0][2];
                    
    $mesto2[]=$n;
                }

            }
            
    var_dump("$datat2");
            
    $mesto2[]=$i;
            echo 
    "<small>Подразделы:";
            
    $msizeof($datat2);
            if (!
    $m==0)
            {
              for (
    $n=0;$n<$m;$n++)
              {

              echo 
    "    <a href=\""adr,"?podr="; echo $mesto2[$n]; echo ";"; echo $mesto2[$n+1]; echo ";"; echo $datat2[$n];  echo "\"><i>"; echo $datat2[$n]; echo "</i></a><br />";
              }

            }
            else
            {
            echo  
    "Подразделов нет";
            }*/
            echo 
    "</small>";
            echo 
    "<br>";
        }


    вот что выдает
    азделы:
    Корпоративные тренинги

    string(5) "Array" Подразделы:
    Тренинги продаж корпоративные

    string(5) "Array" Подразделы:
    Открытые тренинги

    string(5) "Array" Подразделы:
    Отраслевые тренинги

    string(5) "Array" Подразделы:
     
  2. saggitarius

    saggitarius Прохожие

    Чтобы не было этого - string(5) "Array" , нужно убрать кавычки ,
    обрамляющие переменную $datat2
    PHP:
    var_dump("$datat2");
    Но, var_dump возвращает тип и значение.
    Для чего он нужен при генерации, я так понял - меню сайта, не очень понятно.
    Если нужно было просто вывести все значения массива, то:

    PHP:
    foreach($datat2 as $dat)
     {
      echo 
    $dat;    
     }
     
  3. gasoj

    gasoj Писатель

    Регистр.:
    17 ноя 2007
    Сообщения:
    6
    Симпатии:
    1
    А так должно быть еще лучше
    PHP:
    foreach($datat2 as & $dat)
     {
      echo 
    $dat;    
     }
     
  4. willnuke

    willnuke Прохожие

    Спасибо, разобрался)
    Вообще в таких случаях надо использовать
    $n=$data[][][]
    echo $n
    или echo $data[][][]
    или в случае текста:
    echo "Текст {$data[][][]}"
     
Статус темы:
Закрыта.