Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

[Homework] PHP Basics - PHP Syntax - November 2014

Здравейте, колеги от 1во ниво!

С нетърпение чаках да започнем този курс и да си припомня лошото и старо PHP. Като резултат съм готов с домашните и реших да ги споделя с вас!

GitHub

Доста четене в google падна по тези задачи с датите... И останах с впечатлението, че доста лесно се борави с тях, стига да научиш какви неща ти дава php.

 

PS: Кодът е подобрен съобразно препоръките на RoYal!

Тагове:
3
PHP Web Development Basics 27/11/2014 17:38:35
magdalena70 avatar magdalena70 96 Точки

Ето и моето домашно с много зор и без задачите със звездички: Homework-Php-Syntax

Php ми взе здраветоyell

 

6-та и 7-ма задача са редактирани след забележката на Petya.

0
04/12/2014 16:46:29
Petya avatar Petya 2461 Точки

Не съм ти разглеждала решенията подробно, но за Get Form Data на CSS-а не му е мястото при HTML и PHP кода. Сложи го в отделен файл просто и го линкни.

1
RoYaL avatar RoYaL Trainer 6849 Точки

За non-repeating digits понеже виждам, че повечето правите някакви особено сложни алгоритми с милиони итерации в тях :) На едни колеги в залата бях показал, та ще го напиша и тук.

Да вземем нарпимер числото 1238. Искаме да видим дали някоя цифра не се повтаря.

Имаме функцията str_split() която дроби стринг на масив от chars (ако си спомняте ToCharArray() от C#/Java).

РНР автоматично превръща числата в стрингове, когато се опиташ да извършиш повечето срингови операции върху тях, така че str_split(1238) ще резултира в масив от 4 елемента

array (size=4)
  0 =>  '1' (length=1)
  1 =>  '2' (length=1)
  2 =>  '3' (length=1)
  3 =>  '8' (length=1)

От своя страна път функцията array_unique() изпълнена върху масив, ще върне масив само с уникалните елементи, т.е. ако имаме два пъти примерно стринга "2" ще го върне само веднъж. Т.е. така дължината на уникалния масив ще излезе по-малка от дължината на оригиналния масив.

До момента имаме:

$num = 1238;

$charArray = str_split($num);

За да разберем дали числото 1238 има повтарящи се символи, трябва да проверим дали дължината на уникалния масив (count() функцията) е различна от дължината на оригиналния масив

В този случай правим следната проверка

var_dump(count($charArray) === count(array_unique($charArray)));

Това ще върне TRUE ако числото няма повтарящи се цифри, и false съответно ако има. Ето следния експеримент:

1238; // true

1228; // false

Във втория случай връща false защото array_unique върху масив от 4 елемента, в които 2ката я има два пъти ще върне масив от 3 елемента (1, 2 и 8) съответно (4 === 3) === false;

Така, че единствената по-сериозна проверка, която трябва да се прави вътре в цикъла от 100 до въведеното число е: if((count($charArray) === count(array_unique($charArray)))

 

6
mar0der avatar mar0der 191 Точки

Ето и моите решения. Имам няколко доста кратки и елегантни решения, ако някой е фен на регекс :)

GitHub

0
Filkolev avatar Filkolev 4482 Точки

Ето и моите решения. Има още малко време до крайния срок, ще се радвам да получа обратна връзка, ако не за това, поне за следващите домашни да знам как да процедирам.

ЛИНК

0
a.angelov avatar a.angelov 1316 Точки

Здравей,

погледнах решенията и имам коментар само по една от задачите:

03.DumpVariable - is_numeric проверява дали дадена променлива е число или числов стринг - т.е. ще върне true и за 15 и за "15". Съответно и при двата варианта if-а ще мине през var_dump. Според мен за да е коректно решението спрямо условието, би трябвало да се провери типът с typeof.

1
07/12/2014 20:04:30
Filkolev avatar Filkolev 4482 Точки

Благодаря за коментара. is_numeric ми се стори доста лесен начин да направя проверката, но според мен си прав, че ако ми се подаде число като стринг е по-логично да го считам за стринг.

1
mar0der avatar mar0der 191 Точки

Гледам, че доста хора са се отказали от "Awesome Calendar" (9 problem). Та ето го и моето решене:

http://petarpetkov.com/calendar/index.php?year=2014

можете да сменята годината  в диапазона 1970 до .... не знам до 4000 работи и ще ви генерира календар за дадената година.

GITHUB

0
JuliaS avatar JuliaS 32 Точки

Здраейте, за да не правя нова тема, тъй като става въпрос за домашните от тази тема при мен възникна следния въпрос. Свалих да оценявам първото домашно. Но...веднага излезна съобщение за някаква синтактича грешка 2 реда дълго...Като започнах да търся причините за тази грешка, всичко по кода си беше ОК, открих че има кирилица в файла на папката(не вътрешната, която е на студента, а външната, която предполагам че идва при капсулирането на домашните с номерца). Като махнах кирилицата от името на папката задачите си тръгнаха.

Въпросът ми е - това се дължи на някаква настройка при мен или по принцип е така и кирилица не трябва да има по имената на папките когато се касае за програмиране?

0
RoYaL avatar RoYaL Trainer 6849 Точки

Long story short не трябва да има кирилица по имената на папките и файловете. Някои хора даже нямат такова животно инсталирано. Проблем може да се яви навсякъде.

0
08/12/2014 09:50:20
JuliaS avatar JuliaS 32 Точки

И второто домашно се свали с кирилица...Надявам се от СофтУни да го видят това...Ако някой не се усети от къде идва проблема като нищо перфектно домашно може да бъде оценено като неработещо!

0
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Спомням си, че с Visual Studio имах проблем с прекалено дълъг path до файловете. Не знам дали PHP Storm има такъв проблем.

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