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 :: Версия для печати :: отличие echo от print
Форумы портала PHP.SU » » Вопросы новичков » отличие echo от print

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

1. acter1kc - 13 Августа, 2011 - 12:59:15 - перейти к сообщению
Цитата:
Различия между print() и echo() рассматриваются в этой статье: http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40


Я туда зайти ни смог, люди подскажите отличия этих функций. Потомучто когда писал свою программу наткнулся на проблему:

PHP:
скопировать код в буфер обмена
  1.    
  2. function rl () {
  3. print "<table border=3><td>";
  4.    
  5.   $massivizobr = array(
  6.                 array("ol1","ki1","ci1","pr1"),
  7.                 array("ol2","ki2","ci2","pr2"),
  8.                 array("ol3","ki3","ci3","pr3"),
  9.                 array("ol4","ki4","ci4","pr4"),
  10.                 array("ol5","ki5","ci5","pr5"),
  11.                 array("ol6","ki6","ci6","pr6"),
  12.                 array("ol7","ki7","ci7","pr7") );
  13.                
  14.     for ($i=0; $i<7; $i++) {
  15.     echo '<tr>';
  16.       for ($a=0; $a<=3; $a++) {
  17.           $izobrazenie[$a] = $massivizobr[$i][$a].".png";
  18.           print "<td><img src=$izobrazenie[$a]></td>";
  19.           //echo $massivizobr[$i][$a];
  20.          
  21.       }//end for $a
  22.       echo '</tr>';
  23.     }   // end for $i
  24.  print "</td>
  25.          <tr>
  26.            <td colspan=4>
  27.            <center>
  28.            <input type=submit value=GO>
  29.            </center>
  30.            </td>
  31.          </tr>
  32.          </table>";
  33. } // end of function rl
  34.  


Когда я захотел вывсети двумерный массив через print(); наткнулся на проблему, она не выводила значения массива, а выводила какието странные значения типа такого:
Array[0] .
Потом использовал
для вывода массива и получилось. Подскажите почему print(); так себя повёл.
Заранее благодарен Улыбка
2. PATCH - 13 Августа, 2011 - 13:13:47 - перейти к сообщению
могли бы уже и прогуглить
Цитата:
В echo можно передать несколько параметров для вывода через запятую (echo 123, 'aaaa', 33 и они выведутся последовательно. В print нет.


http://www[dot]intval[dot]ru/2009/05/01/echo-print/
3. acter1kc - 14 Августа, 2011 - 11:54:46 - перейти к сообщению
спасибо за ответ и ссылочку, но ответа на вопрос про вывод массива я так и ненашел Огорчение
4. White - 14 Августа, 2011 - 12:14:05 - перейти к сообщению
acter1kc print_r() или var_dump()
5. LIME - 14 Августа, 2011 - 16:07:19 - перейти к сообщению
в вашем случае без разницы как выводить
судя по всему применяя print вы забыли указывать второй индекс
ведь массив у вас двумерный
при выводе массива как переменной выводится слово array
в вашем случае Array[0] потому что двумерный массив

еще отличие в том что print возвращает 1 в случае удачи
6. acter1kc - 14 Августа, 2011 - 20:27:44 - перейти к сообщению
Всем спасибо за ответы разобрался Улыбка

 

Powered by ExBB FM 1.0 RC1