Непонятная ситуация с многомерным массивом

lostbananan

Новичок
Код довольно таки простой:
PHP:
r = 'Я {самый|очень} хороший {программист|programmer|юзер} и {программист|хорерограф}. Танцевал на сцене {Киевского оперного театра|Дворца культуры Украина} и на арене {Республиканского стадиона (город Киев)|Стадиона "Лужники(город Москва)}'; 
  // на випадок, коли юзер забуде ввести дані
  preg_match_all('/\{([^{}]*?)\}/', $str, $found);  //розбиває введенний текст на слова-константі и слова-банери
                                                    // Я {самый|очень} хороший: Я - слово-константа; самый|очень - слова банери
  //$word =  array[][];
  for($i=0;$i<count($found[1]);++$i){
      echo "група слів-банерів №$i ".$found{1}[$i]."<br>";
      $t = explode("|", $found[0][$i]); 
      for($k=0; $k<count($t); $k++){
        $s = $t[$k];
        $len = strlen($s);
        if($k==0){
            echo "&nbsp; &nbsp;".$len."<br>";
            $word[$i][$k]=substr($t[$k], 1, $len-1);
        } 
        if($k==$len){
            $word[$i][$k]=substr($t[$k], 0, $len-1);
        }
        
        echo "word[$i][$k]=".$t[$k]."<br>";
      }    
  }
  echo "<hr><b><i>";
  echo $word[0][0]."<br>";
  echo $word[0][1]."<br>";
  echo $word[0][2]."<br>";
  echo $word[1][0]."<br>";
  echo $word[1][1]."<br>";
  echo $word[1][2]."<br>";
  echo $word[2][0]."<br>";
  echo $word[2][1]."<br>";
  echo $word[2][2]."<br>";
  echo $word[3][0]."<br>";
  echo $word[3][1]."<br>";
  echo $word[3][2]."<br>";
  echo $word[4][0]."<br>";
  echo $word[4][1]."<br>";
Но этот код возвращает:

група слів-банерів №0 самый|очень
6
word[0][0]={самый
word[0][1]=очень}
група слів-банерів №1 программист|programmer|юзер
12
word[1][0]={программист
word[1][1]=programmer
word[1][2]=юзер}
група слів-банерів №2 программист|хорерограф
12
word[2][0]={программист
word[2][1]=хорерограф}
група слів-банерів №3 Киевского оперного театра|Дворца культуры Украина
26
word[3][0]={Киевского оперного театра
word[3][1]=Дворца культуры Украина}
група слів-банерів №4 Республиканского стадиона (город Киев)|Стадиона "Лужники(город Москва)
39
word[4][0]={Республиканского стадиона (город Киев)
word[4][1]=Стадиона "Лужники(город Москва)}
самый


программист


программист


Киевского оперного театра


Республиканского стадиона (город Киев)
Почему в цикле происходите нормальное обращение к, скажем $word[0][1], а не в цикле echo $word[0][1]."<br>"; не возвращает ничего кроме перевода строки?
 

С.

Продвинутый новичок
Где в твоем коде в цикле происходит нормальное обращение к, скажем $word[0][1]?
 

WMix

герр M:)ller
Партнер клуба
PHP:
$word[$i] = explode("|", $found[1][$i]); // ACHTUNG!
/*for($k=0; $k<count($t); $k++){ ... } */
 
Последнее редактирование:
Сверху