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

Chvalov

Гуру форума
Регистрация
31 Окт 2011
Сообщения
265
Реакции
81
Здравствуйте есть код:
Код:
$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 ??
 
Это код на javascript и он не имеет практического применения - зачем это переводить на php?

К тому же тут код не полный - if(firstGroup == secondGroup){ не имеет закрывающей кавычки, а за ним явно что-то должно быть потому как это условие не выполняется.
 
Последнее редактирование:
Знаю что не полный... но дальше я уже сам как то до перепишу...
В новый версиях php
Код:
$p = [];
будет работать, но мне нужно под 5.3 а там $p = array()
ну а дальше как не знаю :(
 
Убери var и расставь знак доллара ($) перед переменными p, i, firstGroup, secondGroup, thirdGroup
Вместо console.log поставь echo и скобки можно будет убрать.
 
теперь еще одна ошибка:
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]){
 
Вопрос решен
на 62 строчке
echo('p[5] text') ;
 
Вместо console.log поставь echo и скобки можно будет убрать.
Подскажи пожалуйста а что можно использовать вместо 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');
        }
    }

}
и чтобы выводило после каждой операции текст
 
Да но оно выводит не понятно что, а я хочу именно чтобы выводило текст

var_dump(p); - получается полная хрень
(12) { [1]=> int(1) [2]=> int(1) [3]=> int(1) [4]=> int(1) [5]=> int(1) [6]=> int(1) [7]=> int(1) [8]=> int(1) [9]=> int(2) [10]=> int(1) [11]=> int(1) [12]=> int(1) }
var_dump(echo); - работать не будет :mad:
 
Вот собственно задача:
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 взвешевания выводились
 
Назад
Сверху