lostbananan
Новичок
Код довольно таки простой:
Но этот код возвращает:
група слів-банерів №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>"; не возвращает ничего кроме перевода строки?
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 " ".$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>"; не возвращает ничего кроме перевода строки?