Loading...
denislav.r avatar denislav.r 0 Точки

Equal words PHP

Здравейте,

Моля помогнете не мога да открия правилният синтаксис на една елементарна задача. 

На C# го знам  как е: word1 = Console.ReadLine().ToLower();   обаче на PHP не го намирам как може да стане по подобен начин, моля помогнете.

Ето го кода, който съм написал. 

<?php 
$word1 = readline();
$word2 = readline();
$word1 = strtolower(word1);
$word2 = strtolower(word2);

if ($word1 == $word2)  
{
    echo 'yes';
}
 else {
echo 'no';    
}

Тагове:
0
Programming Basics
svetoslav_0 avatar svetoslav_0 1009 Точки

Мисля, че правилният синтаксис трябва да изглежда така:

$word1 = strtolower($word1);
$word2 = strtolower($word2);

0
denislav.r avatar denislav.r 0 Точки

Така е,

нали и аз това съм написал, но  ми дава 0 точки във judge

0
21/01/2018 13:00:34
svetoslav_0 avatar svetoslav_0 1009 Точки

Този код, който си дал със сигурност няма да ти даде 0/100, по-скоро нещо от типа 50/100. Ето така трябва да ти изгледа сорса според мен

<?php 
$word1 = readline();
$word2 = readline();
$word1 = strtolower($word1);
$word2 = strtolower($word2);

if ($word1 == $word2)  
{
    echo 'yes';
}
 else {
echo 'no';    
}

Разликата е съвсем малка, просто най-вероятно забравяш да укажеш, че word1 и word2 са променливи

0
denislav.r avatar denislav.r 0 Точки

Блягодаря ти, 

видях си грешката и чак от втория път ми даде 100/100

А има ли някакъв по-опростен начин за записване?

Например директно при входа: 

$word1 = readline().strtolower($word1);

0
21/01/2018 13:20:06
Thedi avatar Thedi 200 Точки

Здравей,

.strtolower в C# e lambda функция и в PHP няма такива. 
Като цяло не виждам как това, че си написъл 2 реда повече е трудно, но може да го направиш и така:
 

<?php 
$word1 = strtolower(readline());
$word2 = strtolower(readline());

if ($word1 == $word2)  {
    echo 'yes';
} else {
echo 'no';    
}


За още по кратко можеш и така: 

<?php 

if (strtolower(readline()) == strtolower(readline())) {
    echo 'yes';
} else {
    echo 'no';    
}


За още по кратко може и така:
 

<?php
echo strtolower(readline()) == strtolower(readline()) ? "yes" : "no";

 

Най важното е да го напишеш така, както най лесно ще се чете от теб или от другите който могат да използват кодът ти.
Както ти сам видя, беше изпуснал "$" и програмата ти не работеше. Въпроса е в кой от всичките случай ще ти е най лесно да намериш грешката си.Аз бих ти препоръчал от началото да пишеш подробно за да може лесно да виждаш какво се случва, а пък като напреднеш ще можеш да ги пишеш с доста по малко текст.


 

1
21/01/2018 14:32:17
Vesela_5 avatar Vesela_5 40 Точки

Ами аз го направих точно така, да преобразува в малки букви още при въвеждане на дума:

$word1 = strtolower(readline());

0
svetoslav_0 avatar svetoslav_0 1009 Точки

Също става, даже по-добре. Две операции на един ред :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.