21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
krimzSins
Profil *
Dobre rano,
bez nejakych kecu rovnou k veci:
public $number = (is_numeric($number)) ? $number : "";
haze:
Parse error: syntax error, unexpected '(' in *cesta* on line 3
Co to zapricinuje prosim?
Jinak nemuzu tam dat intval($number), protoze to je vetsi jak 32bit..
Dekuji za radu.
Tomáš123
Profil
krimzSins:
Odober prvú a poslednú zátvorku.
krimzSins
Profil *
Tomáš123:
Parse error: syntax error, unexpected '(', expecting ',' or ';' in *cesta* on line 3

public $number = is_numeric($number) ? $number : "";
tak fakt nevim..
MartinP
Profil *
Můžeš k tomu dát i kus okolí?
krimzSins
Profil *
<?php
class TestClass
{
    public $number = is_numeric($number) ? $number : "";
    public function TestMethod($number)
    {
        print($number);
    }
}
TestClass::TestMethod("846598654985698654");
MartinP
Profil *
Když definuješ proměnné tříd, můžeš jim dávat pouze nějakou konstatní hodnotu, ne výsledek funkce.

Mělo by to být buďto takto:
<?php
class TestClass
{
    public function TestMethod($number)
    {
        print(is_numeric($number) ? $number : "");
    }
}
TestClass::TestMethod("846598654985698654");

nebo takto:
<?php
class TestClass
{
    public $number;
    public function TestMethod($number)
    {
        $this->number = is_numeric($number) ? $number : "";
        print($this->number);
    }
}
$instance = new TestClass();
$instance->TestMethod("846598654985698654");
krimzSins
Profil *
Puvodne jsem to mel vyresene tak, jak jsi mi ukazal v te druhe moznosti, ale toto mi prislo vic "elegantni" :D Nicmene, kdyz to nejde, tak nevadi. Diky za pomoc :)
nightfish
Profil
krimzSins:
Tvůj kód z [#5] nedává smysl - resp. řádek s public $number je tam zcela zbytečný (pomiňme teď syntaktickou nesprávnost), protože se s ním v té metodě nepracuje. Stejně tak volat nestatickou metodu staticky (pomocí čtyřtečky) není vhodné. (A vůbec - používat statické metody není vhodné.)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0