Помогите. Простой пример PHP

Тема в разделе "PHP", создана пользователем dwm, 24 окт 2015.

  1. dwm

    dwm

    Регистрация:
    31 окт 2012
    Сообщения:
    139
    Симпатии:
    14
    Есть вот такая штука:
    PHP:
    <?php
    $i
    =0;
    $arr = array ("red""ogange""yellow""green""blue""violet");
    while(
    $i<4)
    {
        echo 
    '<div style="color:'.$arr[$i].';"></div>';
        
    $i++;
    }
    ?>
    Должна выводить 4 цвета. Но ничего не выводит. Совсем.

    Проблема с кавычками. Правда, выручайте. Сижу теряю веру в жизнь)
     
    Последнее редактирование: 24 окт 2015
  2. AnOcToJI

    AnOcToJI

    Регистрация:
    28 дек 2012
    Сообщения:
    309
    Симпатии:
    188
    конечно он цвет не выведет, вы задали цвет контенту, php отрабатывает как вы и хочите(наверное) но html не понимает что от него хотят)) если просто полосы то вот
    Код:
    <?php
    $i=0;
    $arr = array ("red", "orange", "yellow", "green", "blue", "violet");
    while($i<4)
    {
      echo '<div style="height:10px; background-color:'.$arr[$i].';"></div>';
      $i++;
    }
    ?>
    
     
    dwm нравится это.
  3. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    всё работает :Smile:
    просто текст нужно какой-нибудь задать, аля:
    PHP:
    <?php
    $i
    =0;
    $arr = array("red""ogange""yellow""green""blue""violet");
    while(
    $i<4) {
      echo 
    '<div style="color:'.$arr[$i].';">text</div>';
      
    $i++;
    }
     
    dwm нравится это.
  4. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    PHP:
    <?php

        $i        
    0;
        
    $arr    = array("red""ogange""yellow""green""blue""violet");

        while (
    $i 4) {
            echo 
    '<div style="color:' $arr[$i] . ';"></div>';
            
    $i++;
        }

    ?>
    Все работает
    просто скрипт выводит не информацию а разметку HTML типа <div style="color:red;"></div>
     
    dwm нравится это.
  5. dwm

    dwm

    Регистрация:
    31 окт 2012
    Сообщения:
    139
    Симпатии:
    14
    СПАСИБО!

    А еще вопрос: как вывести 4 дива с этими цветами, только рандомно расположенными?

    Но вывести их средствами PHP
     
  6. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    ето момент верстки
    можеш задать блокам например ИД с номерами типа

    PHP:
    <?php

        $i        
    0;
        
    $arr    = array("red""ogange""yellow""green""blue""violet");

        while (
    $i 4) {
            echo 
    '<div id="' $i '" style="color:' $arr[$i] . ';"></div>';
            
    $i++;
        }

    ?>
    и по очереди писать для каждой ИД (0-4) свое место положения с помощью стилей
     
  7. dwm

    dwm

    Регистрация:
    31 окт 2012
    Сообщения:
    139
    Симпатии:
    14
    Здесь '<div id="' . $i . '" ID = от 0-4? Если я в CSS укажу:
    #1 {
    width: 300px;
    float:left;
    }
    Или это глупость?
    --- Добавлено, 24 окт 2015 ---
    Итак, вот что получилось:
    PHP:
    <?php
    $i
    =0;
    $arr = array ("red""orange""yellow""green""blue""violet");
    $s=0;
    $arc = array ("first""second""third""fourth""fifth");
    while(
    $i<count($arr) && $s<(5))
    {
        
    //echo '<div style="height:10px; background-color:'.$arr[$i].';"></div>';
        
    echo '<div id="'.$arc[$s].'" style="height:50px; width:200px; float:left; background-color:'.$arr[$i].';<br />"></div>';
        
    $i++;
        
    $s++;
    }

    ?>
    Теперь он мне выводит в один ряд 5 дивов с цветами по порядку.

    Как сделать так, чтобы каждый див заливался рандомно? И желательно 4-мя цветами.

    Задание звучит так: Написать PHP скрипт, в котором создать текстовый массив с названиями цветов. Количество разных цветов должно быть больше четырех. Затем, с помощью PHP отобразить на странице четыре div одинакового размера. Сделать так, чтобы при загрузке страницы все четыре div заливались случайными цветами, выбранными из массива. При этом, все четыре div должны заливаться разными цветами.
     
    Последнее редактирование: 24 окт 2015
  8. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    ничего сложного:
    PHP:
    <?php

    $arr 
    = array("red""ogange""yellow""green""blue""violet");
    shuffle($arr);
    $newArr array_slice($arr04);

    foreach (
    $newArr as $color) {
       echo 
    '<div style="color:' $color ';">text</div>';
    }
    или же как делал ты - со счётчиком.
     
  9. AnOcToJI

    AnOcToJI

    Регистрация:
    28 дек 2012
    Сообщения:
    309
    Симпатии:
    188
    и по заданию у тебя скорей всего дивы должны быть залиты, а не text
    echo '<div style="height:10px; width:10px; background-color:' . $color . ';"></div>';
    ну это больше внешний аспект