PDA

Просмотр полной версии : условия в php


chapo
16.04.2020, 15:38
Что тут не так? Даже если в 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'
;
}

Livarka
16.04.2020, 15:42
Зачем точка перед "/" ? это переход в назад типо?

chapo
16.04.2020, 15:45
Зачем точка перед "/" ? это переход в назад типо?


Считай, что "." - это путь к программе

Livarka
16.04.2020, 15:50
во первых не " = ", а ==

во вторых, надо определения твей переменной $this кидать и все что связано

сделал так и все работает

PHP:

chapo
16.04.2020, 15:55
во первых не " = ", а ==
во вторых, надо определения твей переменной $this кидать и все что связано
сделал так и все работает

PHP:












Все-ровно что-то не работает





https://forum.antichat.xyz/attachments/27480659/

#Northn
16.04.2020, 16:02
Путь в file_get_contents должен быть абсолютным, кажется

chapo
16.04.2020, 16:03
Путь в file_get_contents должен быть абсолютным, кажется


Ну лично у меня все и так работает нормально...

Livarka
16.04.2020, 16:50
пробуй

$language = file_get_contents('./settings/language.txt', FILE_USE_INCLUDE_PATH);

chapo
16.04.2020, 16:56
пробуй
$language = file_get_contents('./settings/language.txt', FILE_USE_INCLUDE_PATH);


Та все работает, я прост дебил и просто не создал файл language.txt :D

chapo
16.04.2020, 17:16
Уже вторая тема когда ты сам был виноват в не работе своего кода.


Так лол, изначально у меня не работало из-за того, что я писал =, а не ==

Livarka
16.04.2020, 17:29
Так лол, изначально у меня не работало из-за того, что я писал =, а не ==


= это приравнивание

== это сравнивание значений

=== это сравнивание значений и типов переменных

альбертио представляет
16.04.2020, 19:37
Так лол, изначально у меня не работало из-за того, что я писал =, а не ==


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

К примеру, мы возьмем следующее выражение:

PHP:






$a
=
-
1
;
if
(
$a
=
234
)
{
var_dump
(
$a
)
;
}




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

Соответственно, у тебя операция присваивания конвертируется в булевую операцию с результативом.

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

Livarka
16.04.2020, 19:38
Ну так салам, "=" в php это присвоение переменной.

К примеру, мы возьмем следующее выражение:

PHP:






$a
=
-
1
;
if
(
$a
=
234
)
{
var_dump
(
$a
)
;
}




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

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


я думаю он понял ;D

альбертио представляет
16.04.2020, 20:55
Считай, что "." - это путь к программе


а теперь загугли, что это значит

chapo
16.04.2020, 21:59
а теперь загугли, что это значит



https://forum.antichat.xyz/attachments/27480847/
?

альбертио представляет
16.04.2020, 22:05
?



https://www.blast.hk/data/avatars/o/112/112329.jpg?1586603548

Эта ава прям под тебя.

Абсолютный путь - это не ./settings/language.txt (я тебе про точку и ответил, если че).

Абсолютный путь - это реальный путь до файла, к примеру /var/www/html/sites/settings/language.txt

И точка тут не нужна.

chapo
16.04.2020, 22:20
https://www.blast.hk/data/avatars/o/112/112329.jpg?1586603548

Эта ава прям под тебя.

Абсолютный путь - это не ./settings/language.txt (я тебе про точку и ответил, если че).
Абсолютный путь - это реальный путь до файла, к примеру /var/www/html/sites/settings/language.txt

И точка тут не нужна.


1. Какая разница, если и с точкой все норм

2. Откуда мне было это знать?)