Kezdőoldal » Számítástechnika » Programozás » Ebben a funkcióban, hogy...

Ebben a funkcióban, hogy lehetne ezeket megoldani?

Figyelt kérdés

Első problémám ezzel a funkcióval, hogy nem lehet egyből stringet bele írni hanem változóval kell.

Tehát nem engedi ezt: azonosito("A"); hanem csak ezt engedi $valami = "A"; azonosito($valami);

Ha egyből stringet írok bele akkor nem csinál semmit valamiért.

Ez miért lehet?


Illetve azt, hogy lehetne megoldani, hogy ha többször futtatom ezt a funkciót egymás után akkor mindig ugyanazt adja vissza és ne haladjon tovább?

Pl.:

$valami = "A";

azonosito($valami); -> B

azonosito($valami); -> B

azonosito($valami); -> B

azonosito($valami); -> B

azonosito($valami); -> B

B-t kellene visszaadnia az összesre ehelyett megy tovább B,C,D,E,F-re.


function azonosito(&$string)

{

$last_char = substr($string, -1);

$rest = substr($string, 0, -1);

switch($last_char)

{

case '9':

$next = 'a';

break;

case 'z':

$next = 'A';

break;

case 'Z':

azonosito($rest);

$next = '0';

break;

default:

$next = ++$last_char;

}

return $string = $rest.$next;

}



2017. júl. 21. 17:42
 1/5 anonim ***** válasza:
Mi a szentséges isten ez?
2017. júl. 21. 21:03
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
Szerintem jól működik. Miból gondolod, hogy mindig B-t kéne visszadnia, ha második hívásra a $valami már B-t tartalmaz?
2017. júl. 21. 21:15
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

Mi

Ez

?

2017. júl. 21. 23:51
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
100%

Hogy miért nem működik az azonosito("A")? Egyszerű:


return $string = $rest.$next;

Ezért. Literálnak nem tudsz értéket adni. Elég idétlen is lenne azt mondani, hogy "A" = "B". A függvényed viszont valami ilyesmit próbálna meg tenni.

2017. júl. 22. 01:22
Hasznos számodra ez a válasz?
 5/5 sharkxxx ***** válasza:

<?php

$valami = azonosito("A");

$valami = azonosito("A");

$valami = azonosito("A");

$valami = azonosito("A");

$valami = azonosito("A");


function azonosito($string)

{

    $last_char = substr($string, -1);

    $rest = substr($string, 0, -1);

    switch($last_char)

    {

        case '9':

            $next = 'a';

            break;

        case 'z':

            $next = 'A';

            break;

        case 'Z':

            $rest = azonosito($rest);

            $next = '0';

            break;

        default:

            $next = ++$last_char;

    }

    return $rest.$next;

}

?>

2017. júl. 22. 10:35
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!