« 1 2
Autor Zpráva
Kubo2
Profil
Fisir ti to zrejme možno napíše, ale tak sa mi vidí, že obaja máme spoločný názor na lenivých „začiatočníkov“ tvojho druhu, citujem ho: „Tohle je ale absolutně zbytečné, je to jako opsat písemku. Nic se tím nenaučíš.
Ja preferujem mierne postrčenie, ktoré ti napovie, ale z tvojej strany nie je vidieť žiadnu snahu. Ak nemáš záujem, budem mlčať a nemusím ti viac pomáhať.
Fisir
Profil
Reaguji na Kubu2:
Ty jsi prostě ten zlý a já ten hodný… :-)

Fisir ti to zrejme napíše
Nejsem blb, mám stejný názor jako ty. Když si projdeš jeho příspěvky, ještě jsem neviděl žádný (kromě možná jednoho) výsledek jeho snahy. Už tu bylo sice hodně začátečníků, kteří svými kódy byli absolutně mimo, ale byly to jejich vlastnoručně napsané kódy, ne jen bezmyšlenkovitě zkopírované. To byla snaha, a ta se cení. Tady vidím spíš jen snahu obejít kategorii Práce a zakázky a vymámit z nás hotová řešení.

Reaguji na Yuff.3:
Jdem na to.

foreach($numbers as $i => $number){
    if($i !== 0) echo("; ");
    echo($number);
}
Diskuse podporuje zvýrazňování syntaxe a dokonce i odkazuje do manuálu. Tudíž, teď nám v mnou poslaném kódu stačí kliknout na text foreach a dostaneme se na manuál. Ten nám poví, že tato konstrukce slouží k jednoduchému procházení polí. Takže, uvnitř cyklu máme k dispozici proměnné $i a $number. Ta první nám označuje klíč aktuálního prvku pole, ta druhá jeho hodnotu.

Chceme, aby čísla byla hezky oddělená středníkem, tudíž ho před každým číslem musíme vypsat (abychom zajistili, že nebude i za posledním). Takto se nám ale vypíše i před prvním, to ale ošetříme podmínkou na druhém řádku, která kontroluje, zda klíč prvku pole se nerovná 0. Pod nulou je totiž první číslo.

Pak už jenom vypíšeme samotné číslo, což je hodnota prvku pole, tedy proměnná $number.

Jenomže, tohle fungovalo, když nám funkce vracela jenom ta čísla, před kterýma je plus. Když jsem ji upravil tak, aby vracela i čísla, před kterýma je mínus, použil jsem tzv. dvourozměrné pole. Tudíž, pokud bychom ten cyklus nijak neupravili, a předali bychom mu výsledek z nové verze funkce countAndReturn(), co udělá? Projde pole. Ale jen v prvním rozměru, a v tom jsou pouze prvky positive (ten má pod sebou další rozměr pole, ve kterém už jsou uložena samotná čísla, před kterýma je plus), negative (opět má pod sebou další rozměr s čísly, před kterýma je mínus) a count (pod sebou má další rozměr s prvky positive a negative, které obsahují informaci o počtu čísel).

Pokud tedy chceme vypsat čísla s plus před sebou, nemůžeme cyklu foreach předávat přímo výsledek funkce countAndReturn(), ale rovnou prvky druhého rozměru pod klíčem positive. Když pak budeme chtít vypisovat čísla s mínus před sebou, použijeme ten samý cyklus, jen mu předáme prvky pod klíčem negative.

Když pak chceme vypsat počet nalezených čísel (s použitím druhé verze funkce), nemůžeme vypsat jen countAndReturn()['count'], protože ten má pod sebou další rozměr pole (právě proto ti to vypsalo jen array). Pod sebou má prvky positive a negative a teprve ty nesou informaci o počtu čísel. Musíme tedy vypsat až tyto prvky.
Kubo2
Profil
Fisir:
Fisir ti to zrejme napíše“
Nejsem blb, mám stejný názor jako ty.
Za blba som ťa nikdy nepokladal. Pri zvažovaní prvého súvetia príspevku som vychádzal skôr z tebou prejavenej ochoty dopodrobna mu všetko vysvetľovať, keď podstatná časť z jeho príspevkov v tomto vlákne hovorí o tom, že on vlastne neprejavuje záujem sa to naučiť a pochopiť, ale ako si napísal, obísť Práce a zákazky. Ale máš asi pravdu, nepoužil som práve najvýstižnejší termín.
Fisir
Profil
Reaguji na Kuba2:
Já si nemyslím, že ty si myslíš, že jsem blb. To bylo takové… silnější vyjádření toho, že mu sem další hotové kódy psát nebudu. Všechno v poho :-) (až na ten offtopic :-)).

tebou prejavenej ochoty dopodrobna mu všetko vysvetľovať, keď podstatná časť z jeho príspevkov v tomto vlákne hovorí o tom, že on vlastne neprejavuje záujem sa to naučiť a pochopiť
Jop, právě proto tu do něj cpu teoretické řečičky bez konkrétních výsledků, aby se musel snažit. (Snad to tu nikdo nezkazí tím, že mu pošle hotové řešení.) Jsou prázdniny, mám na to spoustu času :-).
Yuff.3
Profil
Keby som to dal do práce a zákazky, koľko ľudí by mi odpísalo?? A keby aj, tak by pýtali za takúto banalitu minimálne 10€ - predpokladám.
Záujem z mojej strany? Áno, mohol by som si to všetko spraviť aj sám, stačilo by zabiť niekoľko hodín štúdia internetových stránok o funkciách PHP - ALE nechystám sa študovať informatiku a sú minimálne šance, že túto vec využijem ešte niekde niekedy.
Preto som veľmi vďačný, že tu je pár ľudí ako Fisir - a pomôžu mi.. :)

Funguje mi to už super - len ešte počet čísel mi nechce vypísať..
- z príspevku #25:
Fisir:
$numbers = countAndReturn('+4+7+9-5-3-1+15+-47+65+-87+24-62');
echo("Našel jsem ".$numbers['count']." čísel (");

Namiesto count som dal positive (skúšal som aj za count pridať ešte positive) .. vypíše array alebo nevypíše nič.. Nechápem prečo :( Ale spravil som to tak, že som v tom prvom riadku za $numbers = countadnretrun(3544)['sempridalpositive']; - aj tak to nefunguje :( nevypíše nič a keď nechám len ".$numbers." - vypíše array :(
Čo s tým? :(
Fisir
Profil
Reaguji na Yuff.3:
countadnretrun(3544)['sempridalpositive'];
WTF?

Přemýšlej. Pod klíčem count se nachází další rozměr pole $numbers s prvky positive a negative. Až tyto prvky druhého rozměru pole nesou číselnou hodnotu počtu nalezených čísel.
Yuff.3
Profil
$numbersplus = countAndReturn("$cisla")["positive"];
echo "" .$numbersplus;
foreach($numbersplus as $i => $asd){
    if($i !== 0)
    echo ", " .$asd;

Stále premýšľam.. Prečo mi teda pod foreach echo vypíše, a echo pod funkciou - echo "" .$numbersplus; nevypíše počet čísel so znamienkom +
?? :(
Fisir
Profil
Reaguji na Yuff.3:
echo pod funkciou - echo "" .$numbersplus; nevypíše počet čísel so znamienkom +
Protože v prvku positive, který sis uložil do proměnné $numbersplus jsou uložená čísla s plusem před sebou, nikoli jejich počet. Abys zjistil jejich počet, musel bys vypsat hodnotu countAndReturn()['count']['positive']. Nebo, abys to zachoval takto, můžeš počet prvků pole (tedy těch čísel) spočítat funkcí count().
Yuff.3
Profil
Aha jj :) jasné :)
Ďakujem veľmi pekne :) Moc moc si mi pomohol :) Ak by som mohol pre teba niečo spraviť len napíš :) Si Pán :)
« 1 2

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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