Помогите с кодом PHP 5.3

Тема в разделе "Как сделать...", создана пользователем Chvalov, 3 фев 2014.

  1. Chvalov

    Chvalov

    Регистр.:
    31 окт 2011
    Сообщения:
    235
    Симпатии:
    76
    Здравствуйте есть код:
    Код:
    $p = [];
        for (var i=0;i < 12;i++){
            p[i+1]=1;
        }
    $p[7] = 2;
    
        var firstGroup = p[1]+p[2]+p[3]+p[4];
        var secondGroup = p[5]+p[6]+p[7]+p[8];
        var thirdGroup = p[9]+p[10]+p[11]+p[12];
       
    if(firstGroup == secondGroup){
    
        if((p[9]+p[10]+p[6]) == (p[7]+p[8]+p[11])){
    
            if(p[9] > p[12]){
                console.log('p[12] my text');
            }else if(p[9] < p[12]){
                console.log('p[12] my text');
            }
    Как мне его переделать под php 5.3 ??
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.451
    Симпатии:
    1.244
    Это код на javascript и он не имеет практического применения - зачем это переводить на php?

    К тому же тут код не полный - if(firstGroup == secondGroup){ не имеет закрывающей кавычки, а за ним явно что-то должно быть потому как это условие не выполняется.
     
    Последнее редактирование: 3 фев 2014
  3. Chvalov

    Chvalov

    Регистр.:
    31 окт 2011
    Сообщения:
    235
    Симпатии:
    76
    Знаю что не полный... но дальше я уже сам как то до перепишу...
    В новый версиях php
    Код:
    $p = [];
    будет работать, но мне нужно под 5.3 а там $p = array()
    ну а дальше как не знаю :(
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.451
    Симпатии:
    1.244
    Убери var и расставь знак доллара ($) перед переменными p, i, firstGroup, secondGroup, thirdGroup
    Вместо console.log поставь echo и скобки можно будет убрать.
     
  5. Chvalov

    Chvalov

    Регистр.:
    31 окт 2011
    Сообщения:
    235
    Симпатии:
    76
    теперь еще одна ошибка:
    Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\Winginx\home\zadacha.loc\public_html\zadacha.php on line 63
    PHP:
        }else if(($p[1]+$p[2]+$p[6]) < ($p[3]+$p[5]+$p[12])){

            if(
    $p[1] == $p[2]){
                echo(
    'p[5] text')
            }else if(
    $p[1] > $p[2]){
                echo(
    'p[2] text');
            }else if(
    $p[1] < $p[2]){
                echo(
    'p[1] text');
            }
    Вот 63 строчка:
    PHP:
          }else if($p[1] > $p[2]){
     
  6. Chvalov

    Chvalov

    Регистр.:
    31 окт 2011
    Сообщения:
    235
    Симпатии:
    76
    Вопрос решен
    на 62 строчке
    echo('p[5] text') ;
     
  7. Chvalov

    Chvalov

    Регистр.:
    31 окт 2011
    Сообщения:
    235
    Симпатии:
    76
    Подскажи пожалуйста а что можно использовать вместо echo, так чтобы выводились последовательность а не сразу ответ ??

    Вот например в коде
    PHP:
    if(firstGroup == secondGroup){

        if((
    p[9]+p[10]+p[6]) == (p[7]+p[8]+p[11])){

            if(
    p[9] > p[12]){
                
    console.log('p[12] text1');
            }else if(
    p[9] < p[12]){
                
    console.log('p[12] text2');
            }

        }else if((
    p[9]+p[10]+p[6]) > (p[7]+p[8]+p[11])){

            if(
    p[9] == p[10]){
                
    console.log('p[11] text3');
            }else if(
    p[9] > p[10]){
                
    console.log('p[9] text4');
            }else if(
    p[9] < p[10]){
                
    console.log('p[10] text5');
            }

        }else if((
    p[9]+p[10]+p[6]) < (p[7]+p[8]+p[11])){
            if(
    p[9] == p[10]){
                
    console.log('p[11] text6');

            }else if(
    p[9] > p[10]){
                
    console.log('p[10] text7');
            }else if(
    p[9] < p[10]){
                
    console.log('p[9] text8');
            }
        }

    }
    и чтобы выводило после каждой операции текст
     
  8. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.451
    Симпатии:
    1.244
  9. Chvalov

    Chvalov

    Регистр.:
    31 окт 2011
    Сообщения:
    235
    Симпатии:
    76
    Да но оно выводит не понятно что, а я хочу именно чтобы выводило текст

    var_dump(p); - получается полная хрень
    var_dump(echo); - работать не будет :mad:
     
  10. Chvalov

    Chvalov

    Регистр.:
    31 окт 2011
    Сообщения:
    235
    Симпатии:
    76
    Вот собственно задача:
    1. Есть 12 шаров, 11 одинаковых, 12-й либо тяжелее, либо легче (это неизвестно).
    2. Есть весы, которые бывают в 3-х положениях "больше", "меньше" и "поровну".
    3. Есть 3 взвешивания, которые можно сделать.
    Необходимо определить какой из шаров имеет аномальную массу.
    007answer.jpg

    PHP:
    <?php
    echo "<b>Условия:</b></br>
        <li>Есть 12 шаров, 11 одинаковых, 12-й либо тяжелее, либо легче (это неизвестно).
        <li>Есть весы, которые бывают в 3-х положениях ''больше'', ''меньше'' и ''поровну''.
        <li>Есть 3 взвешивания, которые можно сделать.</br></br>Необходимо определить какой из шаров имеет аномальную массу.  "
    ;
       
    $p = array();
        for (
    $i=0;$i 12;$i++){
            
    $p[$i+1]=1;
        }
    $p[9] = 2;

        
    $firstGroup $p[1]+$p[2]+$p[3]+$p[4];
        
    $secondGroup $p[5]+$p[6]+$p[7]+$p[8];
        
    $thirdGroup $p[9]+$p[10]+$p[11]+$p[12];
       
    if(
    $firstGroup == $secondGroup){

        if((
    $p[9]+$p[10]+$p[6]) == ($p[7]+$p[8]+$p[11])){
            if(
    $p[9] > $p[12]){
                echo(
    'p[12] the smallest ball in comparison with each of the other');
            }else if(
    $p[9] < $p[12]){
                echo(
    'p[12] biggest ball compared to each of the other');
            }

        }else if((
    $p[9]+$p[10]+$p[6]) > ($p[7]+$p[8]+$p[11])){

            if(
    $p[9] == $p[10]){
                echo(
    'p[11] the smallest ball in comparison with each of the other');
            }else if(
    $p[9] > $p[10]){
                echo(
    'p[9] biggest ball compared to each of the other');
            }else if(
    $p[9] < $p[10]){
                echo(
    'p[10] biggest ball compared to each of the other');
            }

        }else if((
    $p[9]+$p[10]+$p[6]) < ($p[7]+$p[8]+$p[11])){
            if(
    $p[9] == $p[10]){
                echo(
    'p[11] biggest ball compared to each of the other');

            }else if(
    $p[9] > $p[10]){
                echo(
    'p[10] the smallest ball in comparison with each of the other');
            }else if(
    $p[9] < $p[10]){
                echo(
    'p[9] the smallest ball in comparison with each of the other');
            }
        }

    }else if(
    $firstGroup $secondGroup){

        if((
    $p[1]+$p[2]+$p[6])==($p[3]+$p[5]+$p[12])){
            if(
    $p[7]==$p[8]){
                echo(
    'p[4] the smallest ball in comparison with each of the other');
            }else if(
    $p[7] < $p[8]){
                echo(
    'p[8] biggest ball compared to each of the other');
            }else if(
    $p[7] > $p[8]){
                echo(
    'p[7] biggest ball compared to each of the other');
            }

        }else if((
    $p[1]+$p[2]+$p[6]) < ($p[3]+$p[5]+$p[12])){

            if(
    $p[1] == $p[2]){
                echo(
    'p[5] biggest ball compared to each of the other');
            }else if(
    $p[1] > $p[2]){
                echo(
    'p[2] the smallest ball in comparison with each of the other');
            }else if(
    $p[1] < $p[2]){
                echo(
    'p[1] the smallest ball in comparison with each of the other');
            }

        }else if((
    $p[1]+$p[2]+$p[6]) > ($p[3]+$p[5]+$p[12])){

            if(
    $p[2]>$p[3]){
                echo(
    'p[3] the smallest ball in comparison with each of the other');
            }else if(
    $p[2]==$p[3]){
                echo(
    'p[6] biggest ball compared to each of the other');
            }
        }

    }else if(
    firstGroup secondGroup){

        if((
    $p[5]+$p[6]+$p[2])==($p[7]+$p[1]+$p[12])){
            if(
    $p[3]==$p[4]){
                echo(
    'p[8] the smallest ball in comparison with each of the other');
            }else if(
    $p[3] < $p[4]){
                echo(
    'p[4] biggest ball compared to each of the other');
            }else if(
    $p[3] > $p[4]){
                echo(
    'p[3] biggest ball compared to each of the other');
            }

        }else if((
    $p[5]+$p[6]+$p[2]) < ($p[7]+$p[1]+$p[12])){

            if(
    $p[5] == $p[6]){
                echo(
    'p[1] biggest ball compared to each of the other');
            }else if(
    $p[5] > $p[6]){
                echo(
    'p[6] the smallest ball in comparison with each of the other');
            }else if(
    $p[5] < $p[6]){
                echo(
    'p[5] the smallest ball in comparison with each of the other');
            }

        }else if((
    $p[5]+$p[6]+$p[2]) > ($p[7]+$p[1]+$p[12])){

            if(
    $p[6]>$p[7]){
                echo(
    'p[7] the smallest ball in comparison with each of the other');
            }else if(
    $p[6]==$p[7]){
                echo(
    'p[2] biggest ball compared to each of the other');
            }
        }
    }
    ?>


    Мне собственно нужно чтобы 1,2 и 3 взвешевания выводились