За последние 24 часа нас посетили 59193 программиста и 1835 роботов. Сейчас ищут 854 программиста ...

Не срабатывает массив

Тема в разделе "PHP для новичков", создана пользователем Salvat, 16 май 2016.

  1. Salvat

    Salvat Новичок

    С нами с:
    4 мар 2016
    Сообщения:
    101
    Симпатии:
    0
    Array to string conversion in Ошибка
     
  2. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    А почему он должен что-то другое выдавать? Это массив. Когда пытаешься вывести его через echo - он и говорит тебе, что это массив. Через echo выводятся только строки.
    PHP:
    1. echo $comment[0];
     
  3. Salvat

    Salvat Новичок

    С нами с:
    4 мар 2016
    Сообщения:
    101
    Симпатии:
    0
    Изображения выводит.
    echo $comment[0];
    --- Добавлено ---
    Код еще раз

    PHP:
    1. $smail = array(':-*',':)',':(',';)',':P','8)',':D','=O',':-x','(T_T)');
    2.  
    3.             $image_smail = array(
    4.                         '<img src="smile/1.gif"/>',
    5.                         '<img src="smile/2.gif"/>',
    6.                         '<img src="smile/3.gif"/>',
    7.                         '<img src="smile/4.gif"/>',
    8.                         '<img src="smile/5.gif"/>',
    9.                         '<img src="smile/6.gif"/>',
    10.                         '<img src="smile/7.gif"/>',
    11.                         '<img src="smile/9.gif"/>',
    12.                         '<img src="smile/10.gif"/>',
    13.                         '<img src="smile/11.gif"/>'
    14.                         );
    15.                
    16.             $comment = substr_replace($smail,$image_smail,$row_comment['message']);
     
  4. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Ну, а что должен?
     
  5. Salvat

    Salvat Новичок

    С нами с:
    4 мар 2016
    Сообщения:
    101
    Симпатии:
    0
    Переменная comment должна выводить изображения в определенных местах. А вместо этого пишет Array.
     
  6. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Хорошо. Что я не так написал в первом сообщении?
     
  7. Salvat

    Salvat Новичок

    С нами с:
    4 мар 2016
    Сообщения:
    101
    Симпатии:
    0
    Все так, только почему выдает Array когда вывожу изображения через цикл...
     
  8. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    так покажи, как выводишь. Я ж не телепат
     
  9. Salvat

    Salvat Новичок

    С нами с:
    4 мар 2016
    Сообщения:
    101
    Симпатии:
    0
    PHP:
    1.                                          
    2. $comment_res = mysql_query("SELECT `message`,`timedata`,`message_id` FROM `group_wall` WHERE `message_id`='".$row['id']."' ");
    3.         $count_comment = mysql_num_rows($comment_res);
    4.             while($row_comment = mysql_fetch_assoc($comment_res)){
    5.  
    6.                 $comment = $row_comment['message'];
    7.                 $comment_data = $row_comment['timedata'];
    8.                 $comment_messages = $row_comment['message_id'];
    9.          
    10.          
    11.             }
    12.                 $smail = array(':-*',':)',':(',';)',':P','8)',':D','=O',':-x','(T_T)');
    13.                 $image_smail = array(
    14.                         '<img src="smile/1.gif"/>',
    15.                         '<img src="smile/2.gif"/>',
    16.                         '<img src="smile/3.gif"/>',
    17.                         '<img src="smile/4.gif"/>',
    18.                         '<img src="smile/5.gif"/>',
    19.                         '<img src="smile/6.gif"/>',
    20.                         '<img src="smile/7.gif"/>',
    21.                         '<img src="smile/9.gif"/>',
    22.                         '<img src="smile/10.gif"/>',
    23.                         '<img src="smile/11.gif"/>'
    24.                         );
    25.              
    26.                 $comment = substr_replace($smail,$image_smail,$comment);
    И все это еще в одном цикле, но тот код за вывод не отвечает. Пробовал в самом цикле в этом, тоже самое получаю.
    --- Добавлено ---
    Можно конечно через условие это все сделать, но хотелось бы с помощью массива, а где ошибка - не пойму. Уже видимо устал за сегодня.
     
  10. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    В данном листинге всё равно нет операций вывода.
     
  11. Salvat

    Salvat Новичок

    С нами с:
    4 мар 2016
    Сообщения:
    101
    Симпатии:
    0
    PHP:
    1. if($count_comment == "0"){
    2.                
    3.             $stena_group .= "<a href='group_room.php?id=".$id."&group=".$row['group_admin']."&room=".$row['group_id']."'>
    4.            Название группы: <b>" . $group_names . "</a></b>
    5.                                                <br/><a href='profile.php?id=".$row['group_admin']."'>Администратор: <b>" .
    6.                                                  $row['user_first_name'] . "&nbsp;" . $row['user_last_name'] .
    7.                                                 "</b></a><br/>Сообщение: " . $row['group_messages'] . "<br/>" . $row['date'] . "<br/>
    8.                      
    9.                      
    10.                                                <form id='submit_wall' name='funforma' >
    11.                                                <p><textarea type='text' name='comment' id='".$row['id']."' value='' style='height:100p' /></textarea>
    12.                                                <p> <input type='hidden' name='messageid' id='".$row['id']."' value='".$row['id']."'></p>     <div class='smile'>
    13.    
    14.  
    15.    <a href='javascript:x()' onclick=\"InsertSmile(':-*')\"><img src='smile/1.gif'/></a>
    16.    <a href='javascript:x()' onclick=\"InsertSmile(':)')\"><img src='smile/2.gif'/></a>
    17.    <a href='javascript:x()' onclick=\"InsertSmile(':(')\"><img src='smile/3.gif'/></a>
    18.    <a href='javascript:x()' onclick=\"InsertSmile(';)')\"><img src='smile/4.gif'/></a>
    19.    <a href='javascript:x()' onclick=\"InsertSmile(':P')\"><img src='smile/5.gif'/></a>
    20.    <a href='javascript:x()' onclick=\"InsertSmile('8)')\"><img src='smile/6.gif'/></a>
    21.    <a href='javascript:x()' onclick=\"InsertSmile(':D')\"><img src='smile/7.gif'/></a>
    22.    <a href='javascript:x()' onclick=\"InsertSmile('=O')\"><img src='smile/9.gif'/></a>
    23.    <a href='javascript:x()' onclick=\"InsertSmile(':-x')\"><img src='smile/10.gif'/></a>
    24.    <a href='javascript:x()' onclick=\"InsertSmile('(T_T)')\"><img src='smile/11.gif'/></a>
    25.  
    26. ";
    27.                        
    28.                          $stena_group .= '<p><a href="javascript:void(0);" onclick="comment( document.getElementById('.$row['id'].').value, '.$row['id'].' );">
    29.                                                  Отправить</a> </p>
    30.                                                </form><br/><br />';
    31.                    
    32.                        
    33.                    
    34.             }
    35.             elseif($count_comment >= "1"){
    36.    
    37.             $stena_group .= "<a href='group_room.php?id=".$id."&group=".$row['group_admin']."&room=".$row['group_id']."'>
    38.            Название группы: <b>" . $group_names . "</a></b>
    39.                                                <br/><a href='profile.php?id=".$row['group_admin']."'>Администратор: <b>" .
    40.                                                  $row['user_first_name'] . "&nbsp;" . $row['user_last_name'] .
    41.                                                 "</b></a><br/>Сообщение: " . $row['group_messages'] . "<br/>" . $row['date'] . "<br/>
    42.                        Комментарий от:<br/><img src='".$avatar." ' style='width:100;height:120px;'><br/>"
    43.                         . $row_avatar['last_name'] . "&nbsp;" . $row_avatar['first_name'] .
    44.                         "<br/>Сообщение: " .$comment ."
    45.                        <br/>".$comment_data."<br/><br/> ";
    46.                    
    47.                    
    48.                          }
    49.                          else{
    50.                         $stena_group .= "<a href='group_room.php?id=".$id."&group=".$row['group_admin']."&room=".$row['group_id']."'>
    51.                        Название группы: <b>" . $group_names . "</a></b>
    52.                                                <br/><a href='profile.php?id=".$row['group_admin']."'>Администратор: <b>" .
    53.                                                  $row['first_first_admin'] . "&nbsp;" . $row['last_last_admin'] .
    54.                                                 "</b></a><br/>Сообщение: " . $row['group_messages'] . "<br/>" . $row['date'] . "<br/>
    55.                        Комментарий от:<br/><img src='".$avatar_user." ' style='width:100;height:120px;'><br/>" .
    56.                         $row_avatar['last_name'] . "&nbsp;" . $row_avatar['first_name'] .
    57.                         "<br/>Сообщение: " .$comment ."
    58.                        <br/>".$comment_data."<br/><br/>
    59.                                                <form id='submit_wall' name='funforma' >
    60.                                                <p><textarea type='text' name='comment' id='".$row['id']."' value='' style='height:100p' /></textarea>
    61.                                                <p> <input type='hidden' name='messageid' id='".$row['id']."' value='".$row['id']."'></p>
    62.    <a href='javascript:x()' onclick=\"InsertSmile(':-*')\"><img src='smile/1.gif'/></a>
    63.    <a href='javascript:x()' onclick=\"InsertSmile(':)')\"><img src='smile/2.gif'/></a>
    64.    <a href='javascript:x()' onclick=\"InsertSmile(':(')\"><img src='smile/3.gif'/></a>
    65.    <a href='javascript:x()' onclick=\"InsertSmile(';)')\"><img src='smile/4.gif'/></a>
    66.    <a href='javascript:x()' onclick=\"InsertSmile(':P')\"><img src='smile/5.gif'/></a>
    67.    <a href='javascript:x()' onclick=\"InsertSmile('8)')\"><img src='smile/6.gif'/></a>
    68.    <a href='javascript:x()' onclick=\"InsertSmile(':D')\"><img src='smile/7.gif'/></a>
    69.    <a href='javascript:x()' onclick=\"InsertSmile('=O')\"><img src='smile/9.gif'/></a>
    70.    <a href='javascript:x()' onclick=\"InsertSmile(':-x')\"><img src='smile/10.gif'/></a>
    71.    <a href='javascript:x()' onclick=\"InsertSmile('(T_T)')\"><img src='smile/11.gif'/></a> ";
    72.                          $stena_group .= '<p><a href="javascript:void(0);" onclick="comment( document.getElementById('.$row['id'].').value, '.$row['id'].' );">
    73.                                                  Отправить</a> </p>
    74.                                                </form><br/><br />';
    75.                         }
    Это вывод, Сообщение:" . $comment."
    --- Добавлено ---
    На странице Array выдает вместо смайликов.
    --- Добавлено ---
    Исправил, дело было в substr_replace, работает с str_replace. Благодарю за желание помочь=)
     
  12. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    В общем ты совсем не понимаешь, что делаешь.
    1. операторы вывода - это echo и print.
    Их я просил показать. То, что показал ты - всего лишь присвоение переменным строк.

    Ну да ладно.
    2. $stena_group - это строка. В неё ты кладёшь строку. И тут внезапно ты в неё же хочешь положить ещё и массив $comment. О чём тебе ошибка и говорит:
    Array to string conversion (попытка преобразовать массив в строку). Так не работает.
     
  13. Salvat

    Salvat Новичок

    С нами с:
    4 мар 2016
    Сообщения:
    101
    Симпатии:
    0
    Дело было в самой функции, а не в строках.
     
  14. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Дело было именно в строках. Разница в функциях получилась от того, что первая тебе возвращала массив, а вторая вернула строку.
     
    Salvat нравится это.
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Salvat нравится это.