Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не могу понять в чем проблема (извините за неинформативность)
Форумы портала PHP.SU » » Если скрипт не работает » Не могу понять в чем проблема (извините за неинформативность)

Страниц (1): [1]
 

1. SkaN - 02 Сентября, 2011 - 15:57:20 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $code = '<span style="font-size: {FONT_SIZE}"><a href="?id=tag&tag={ID}">{NAME}</a>({NUM_ARTICLES})</span><br>';
  2. $params = array (
  3.         0 => array ('id' => 'amet', 'name' => 'amet', 'font_size' => '10', 'num_articles' => 1),
  4.         1 => array ('id' => 'dolor', 'name' => 'dolor', 'font_size' => '10', 'num_articles' => 1),
  5.         2 => array ('id' => 'ipsum', 'name' => 'ipsum', 'font_size' => '10', 'num_articles' => 1),
  6.         3 => array ('id' => 'lorem', 'name' => 'lorem', 'font_size' => '10', 'num_articles' => 1),
  7.         4 => array ('id' => 'sit', 'name' => 'sit', 'font_size' => '10', 'num_articles' => 1)
  8. );
  9. for ($i=0; $i<count($params); $i++) {
  10.         foreach ($params[$i] as $key=>$value) {
  11.                 $temp = str_ireplace('{'.$key.'}', $value, $code);
  12.         }
  13.         $this->code .= $temp;
  14. }
  15. echo $this->code;

Это, разумеется, пример. Я обобщил место, где выявляется ошибка. Вот, собственно, в чем сама ошибка:
CODE (html):
скопировать код в буфер обмена
  1. <span style="font-size: {FONT_SIZE}"><a href="?id=tag&tag={ID}">{NAME}</a>(1)</span><br>
  2. <span style="font-size: {FONT_SIZE}"><a href="?id=tag&tag={ID}">{NAME}</a>(1)</span><br>
  3. <span style="font-size: {FONT_SIZE}"><a href="?id=tag&tag={ID}">{NAME}</a>(1)</span><br>
  4. <span style="font-size: {FONT_SIZE}"><a href="?id=tag&tag={ID}">{NAME}</a>(1)</span><br>
  5. <span style="font-size: {FONT_SIZE}"><a href="?id=tag&tag={ID}">{NAME}</a>(1)</span><br>

Заменяется только {NUM_ARTICLES}. Я совсем не могу понять, от чего такое. Помогите плз...
(Добавление)
А, кстати, до этогоя недосмторел и с перового раза у меня заменялась переменная $code, вот так:
PHP:
скопировать код в буфер обмена
  1. for ($i=0; $i<count($params); $i++) {
  2.         foreach ($params[$i] as $key=>$value) {
  3.                 $code = str_ireplace('{'.$key.'}', $value, $code);
  4.         }
  5.         $this->code .= $code;
  6. }
  7.  

Но echo выводил так:
CODE (html):
скопировать код в буфер обмена
  1. <span style="font-size: 10"><a href="?id=tag&tag=amet">amet</a>(1)</span><br>
  2. <span style="font-size: 10"><a href="?id=tag&tag=amet">amet</a>(1)</span><br>
  3. <span style="font-size: 10"><a href="?id=tag&tag=amet">amet</a>(1)</span><br>
  4. <span style="font-size: 10"><a href="?id=tag&tag=amet">amet</a>(1)</span><br>
  5. <span style="font-size: 10"><a href="?id=tag&tag=amet">amet</a>(1)</span><br>

(Добавление)
Все, понял. Если до этого я перезаписывал code, то теперь я перезаписываю temp. Нигде мне не обойтись без моего идиотизма)
2. illy - 02 Сентября, 2011 - 16:38:37 - перейти к сообщению
SkaN пишет:
Нигде мне не обойтись без моего идиотизма)

Ха-ха да ладно с кем не бывает.
Так чё работает?

 

Powered by ExBB FM 1.0 RC1