Професионална програма
Loading...
RAYCHEV avatar RAYCHEV 31 Точки
Best Answer

Наистина не разбрах къде е проблемът в програмата ти.
Поправих я както сметнах за добре и ми даде 100

Може би трябва да се прочете дали няма разлика между ksort и usort ( в случая) 

usort($persons, function ($a, $b)
{
    return strcmp($a->getName(), $b->getName());
});

eто и кода : http://pastebin.com/071XdSXh

2
bobno avatar bobno 17 Точки

Благодаря, може ли да ми разясниш PHP_EOL ?

0
worminer avatar worminer 104 Точки

Здравей,

Kратко обяснение за PHP_EOL ..

Aко сървъра ти е на windows нов ред се прави с \n а ако е под linux\unix нов ред се прави с \r\n.

PHP_EOL кара сървара сам да реши дали трябва да сложи \n или \r\n.. което съответно прави кода да работи еднакво добре навсякъде..

\n - означава отиди на нов ред а

\r - означава измести курсура в началото на реда

Съответно това цялото нещо важи само ако става дума за конзола .. тоест ако искаш нов ред когато ти се рисува html трябва да сложиш <br>

2
12/03/2017 11:40:52
RAYCHEV avatar RAYCHEV 31 Точки

PHP_EOL  - нов ред.  (End Of Line)  Понеже за някои OS , новият ред е "\n", за други "\r\n" .. 
PHP_EOL ще се превърне в нов ред съобразявайки се с OS.

2
bobno avatar bobno 17 Точки

Благодаря и на двамата, а можете ли да ми кажете тази функция кога точно я викаме и защо се инициализира, като конструктор >

http://imgur.com/a/MnREr

0
RAYCHEV avatar RAYCHEV 31 Точки
class Person
{
  $name;
  $age;
}

$person = new Person(); // съдържа $name и $age.

//При 
echo $person // какво ще се извика $name или $person ?

Магическият метод  __toString() връща стринг , когато бъде поискан от класът. (взимане на дефоутен стринг)
echo $person; //  ще се покаже това което сме задали в __toString()

echo $person -> getMyCustomToString(); // пак ще стане но в горният пример , спестяваме това писане + не се налага да знаем името на "Custom" метода.

1