handige php functie

Gestart doorRogier6 reacties57 weergaven

7 berichten · pagina 1 van 1

Rogier

Lid · Topicstarter

Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
hey,

Een tijdje terug heb ik (tot 2 keer toe) gevraagd of jullie een functie kende die bijvoorbeeld van 121 meer karakters kan maken door er nullen voor te zetten (zie: 000121). Dit was om in een database het juiste aantal digits te krijgen.

Nu kreeg ik daar geen antwoord op sadley...

Maar heb vandaag het antwoord gevonden (aangezien ik weer tijd had).

[COLOR= #0000BB]<?php[/COLOR]
    [COLOR= #007700]function[/COLOR] AdZero[COLOR= #007700]([/COLOR][COLOR= #0000BB]$Number[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$Factor[/COLOR][COLOR= #007700]) 
    {[/COLOR]    
        [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/is_numeric"]is_numeric[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Number[/COLOR][COLOR= #007700]) &&[/COLOR] [URL="http://www.php.net/is_numeric"]is_numeric[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Factor[/COLOR][COLOR= #007700]))
        {[/COLOR]
            [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Number[/COLOR][COLOR= #007700]) <=[/COLOR] [COLOR= #0000BB]$Factor[/COLOR][COLOR= #007700]) 
            {[/COLOR]
                [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$Factor[/COLOR] [COLOR= #007700]-[/COLOR] [URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Number[/COLOR][COLOR= #007700]);[/COLOR]
    
                [COLOR= #0000BB]$Zero[/COLOR] [COLOR= #007700]=[/COLOR] null[COLOR= #007700];[/COLOR]        
                [URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$u[/COLOR] [COLOR= #007700]<[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700])
                {[/COLOR]
                    [COLOR= #0000BB]$Zero[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
                    [COLOR= #0000BB]$u[/COLOR][COLOR= #007700]++;
                }[/COLOR]
                
                [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$Zero[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$Number[/COLOR][COLOR= #007700];
            
            }[/COLOR]
            [URL="http://www.php.net/else"]else[/URL]
            [COLOR= #007700]{[/COLOR]
                [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$Number[/COLOR][COLOR= #007700];
            }
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL]
        [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$Number[/COLOR][COLOR= #007700];
        }    
    }[/COLOR]
?>


Voorbeelden:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] AdZero[COLOR= #007700]([/COLOR][COLOR= #0000BB]1092[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]4[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] AdZero[COLOR= #007700]([/COLOR][COLOR= #0000BB]1092[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]8[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] AdZero[COLOR= #007700]([/COLOR][COLOR= #0000BB]1092[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]12[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] AdZero[COLOR= #007700]([/COLOR][COLOR= #0000BB]1092[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]16[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];[/COLOR]
?>


geven:

1092
00001092
000000001092
0000000000001092
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Handig, maar als je bijvoorbeeld getallen uit de database haalt met AI..

Dan kan het zowel, 1 teken zijn als 5 tekens etc..
Dat zou dan lastig gaan met jou script.

Misschien dan een leuke optie extra:

Als je ipv een getal auto invult, dat hij automatisch met strlen(); de getallen telt en dan het juiste aantal nullen erbij optelt?

Verder is het inderdaad handig biggrin.
0
Rogier

Lid · Topicstarter

Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik snap je niet?

Nummers ophalen met adobe illustrator? (sorry ken geen andere afkorting van AI)

En Voor de rest is de $Factor het TOTAAL aantal karakters dus.

AdZero(1, 5) geeft: 00001
Adzero(1000, 5) geeft 01000

Snappie? Of snap je vraag verkeerd?
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
AI = Auto Increment.
Maar als je als uitkomst een getal wil hebben wat 5 tekens lang is.

En uit de database haal je een id.
Dan weet je niet hoe groot dat getal is, dus weet je ook niet hoeveel nullen erbij moeten komen?

Of is $Factor het totaal aantal karakters inclusief $Number?
Zoja, dan heb ik niks gezegd emo
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Ugh, ik kan er echt niet tegen als functies of vars met een hoofdletter beginnen... yummie
Verder ziet het er goed uit, al is er gewoon een PHP-functie voor:

str_pad

[COLOR= #0000BB]<?php
$input[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]10[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/str_pad"]str_pad[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]10[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"0"[/COLOR][COLOR= #007700],[/COLOR] STR_PAD_LEFT[COLOR= #007700]);[/COLOR]   [COLOR= #FF8000]// 0000000010[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/str_pad"]str_pad[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]3[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"0"[/COLOR][COLOR= #007700],[/COLOR] STR_PAD_LEFT[COLOR= #007700]);[/COLOR]   [COLOR= #FF8000]// 010[/COLOR]

?>
0
Rogier

Lid · Topicstarter

Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
ah thanks die zocht ik yummie
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Rik schreef:
Ugh, ik kan er echt niet tegen als functies of vars met een hoofdletter beginnen... yummie
Verder ziet het er goed uit, al is er gewoon een PHP-functie voor:

str_pad
[COLOR= #0000BB]<?php
$input[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]10[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/str_pad"]str_pad[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]10[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"0"[/COLOR][COLOR= #007700],[/COLOR] STR_PAD_LEFT[COLOR= #007700]);[/COLOR]   [COLOR= #FF8000]// 0000000010[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/str_pad"]str_pad[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]3[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"0"[/COLOR][COLOR= #007700],[/COLOR] STR_PAD_LEFT[COLOR= #007700]);[/COLOR]   [COLOR= #FF8000]// 010[/COLOR]

?>


Idd ik ook niet emoZoals jij op je blog hebt geschreven doe ik het altijd wink
En bedankt voor de functie biggrin
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren