PHP условия в php

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,778
11,221
Что тут не так? Даже если в language.txt написано 0, то все-ровно текст с айди 'langtest' принимает значение 'русский'.
PHP:
$language = file_get_contents('./settings/language.txt', true);
        $this->langtest->text = $language;
        
        if ($language = '1') {
            $this->langtest->text = 'русский';
        }elseif ($language = '0'){
            $this->langtest->text = 'english';
        }
 
  • Эм
Реакции: zzalupka
Решение
во первых не " = ", а ==
во вторых, надо определения твей переменной $this кидать и все что связано
сделал так и все работает
PHP:
<?php
$language = file_get_contents('./languge.txt', true);
        
        if ($language == '1') {
            echo 'русский';
        }elseif ($language == '0'){
            echo  'english';
        }
?>

Livarka

Известный
156
65
во первых не " = ", а ==
во вторых, надо определения твей переменной $this кидать и все что связано
сделал так и все работает
PHP:
<?php
$language = file_get_contents('./languge.txt', true);
        
        if ($language == '1') {
            echo 'русский';
        }elseif ($language == '0'){
            echo  'english';
        }
?>
 
  • Нравится
Реакции: chapo

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,778
11,221
во первых не " = ", а ==
во вторых, надо определения твей переменной $this кидать и все что связано
сделал так и все работает
PHP:
<?php
$language = file_get_contents('./languge.txt', true);
       
        if ($language == '1') {
            echo 'русский';
        }elseif ($language == '0'){
            echo  'english';
        }
?>
Все-ровно что-то не работает
1587038141251.png
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,778
11,221
  • Нравится
Реакции: Михаил Бластов

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,778
11,221

Livarka

Известный
156
65
Так лол, изначально у меня не работало из-за того, что я писал =, а не ==
= это приравнивание
== это сравнивание значений
=== это сравнивание значений и типов переменных
 
Так лол, изначально у меня не работало из-за того, что я писал =, а не ==
Ну так салам, "=" в php это присвоение переменной.

К примеру, мы возьмем следующее выражение:
PHP:
$a = -1;

if ($a = 234) {
    var_dump($a);
}
В условии мы присваиваем к переменной $a значение 1. Условие у нас булевого типа -- 1/0 (true/false) - правда/ложь.

Соответственно, у тебя операция присваивания конвертируется в булевую операцию с результативом.
234 > 0, а значит конвертируется в булевый тип true, если бы оно было меньше 0, то выдало бы false и ты бы не получил ответ.
 

Livarka

Известный
156
65
Ну так салам, "=" в php это присвоение переменной.

К примеру, мы возьмем следующее выражение:
PHP:
$a = -1;

if ($a = 234) {
    var_dump($a);
}
В условии мы присваиваем к переменной $a значение 1. Условие у нас булевого типа -- 1/0 (true/false) - правда/ложь.

Соответственно, у тебя операция присваивания конвертируется в булевую операцию с результативом.
234 > 0, а значит конвертируется в булевый тип true, если бы оно было меньше 0, то выдало бы false и ты бы не получил ответ.
я думаю он понял ;D