PHP - Inte skilja på gemener och versaler?

Permalänk
Medlem

PHP - Inte skilja på gemener och versaler?

Kan någon förklara hur jag gör så PHP inte skiljer på gemener och versaler om den jämnför 2 strängar med texten "Kalle" och "kALLE"?

Permalänk
Medlem
Permalänk
Medlem

Går det inte att göra så att om bokstaven är stor, byts den automatiskt ut mot en liten? str_replace eller nåt.

EDIT: Ovannämnda lösning är nog mycket bättre och precis vad du letar efter.

Permalänk
Medlem

=== operatorn bör väl fungera dessutom.

Visa signatur

Let me tell you something. You don't have to say anything, you know why? Cause you can pick up all your stuff, because you're mother-fucking fired! | Lemeno.se - En blogg om att Tjäna Pengar På Internet | Min blogg om styrketräning och kost

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Xenarion
=== operatorn bör väl fungera dessutom.

Nej, strängarna är ju inte identiska.
$ php
<?php if ("a" === "A") echo 'ja'; else echo 'nej'; ?>
nej

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk

enkelt vore om det fanns något liknande toLowerCase() som i Java.

Permalänk
Medlem

Tack för era svar.
Jag förstår inte riktigt hur jag ska få detta att fungera.

Låt säga att en person surfar till
minserver.com?NaMn=kalle

Då kommer jag ju inte kunna köra

echo $namn;
däremot skulle
echo $NaMn;
fungera.

Är det någon som vet hur man gör så PHP inte bryr sig om gemener eller versaler när det när jag gör på detta viset?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av TommyL79
Tack för era svar.
Jag förstår inte riktigt hur jag ska få detta att fungera.

Låt säga att en person surfar till
minserver.com?NaMn=kalle

Då kommer jag ju inte kunna köra

echo $namn;
däremot skulle
echo $NaMn;
fungera.

Är det någon som vet hur man gör så PHP inte bryr sig om gemener eller versaler när det när jag gör på detta viset?

Förstår inte riktigt hur du menar.

"echo $namn;
däremot skulle
echo $NaMn;
fungera."

Det är ju variabler, du kan inte göra så att PHP tolkar gemener och versaler som likadana i variabel namn.

//Query string: ?namn=kalle print $_GET["namn"]; //Skiver ut kalle

//Query string: ?namn=KaLlE print $_GET["namn"]; //Skiver ut KaLlE

Vill du jämföra dessa namn med varandra utan att ta hänsyn till gemener och versaler

så använder du strcasecmp()

tex

if(strcasecmp("kalle", "KaLlE") == 0){ print "Namnen är lika"; } else{ print "Namnen är inte lika"; }

Permalänk

Kanske vill du göra något sånt här i början av din kod/fil..

foreach($_GET as $key => $value)
{
unset($_GET[$key]);
$_GET[strtolower($key)] = $value;
}

Eller mer restriktivt...

foreach($_GET as $key => $value)
{
if (strtolower($key) == 'namn')
{
unset($_GET[$key]);
$_GET[strtolower($key)] = $value;
}
}

Permalänk
Medlem

strtolower

http://se2.php.net/manual/sv/function.strtolower.php

(hur fasiken gör man en länk här?:P)

EDIT: damn it, såg att den funktionen redan blivit nämnd

Visa signatur

Citera för svar!
MB Asus P8P67 Pro CPU i5 2500K + NH-U12P SE2 GPU HD6950 2GB RAM 16GB Ljud M-Audio Audiophile 2496 HDD 4 X 2TB + 250GB SSD system PSU HX750W Chassi NZXT H2 Skärm 2X Benq G2250
Inet Fraktfritt

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av fqvarfort
Kanske vill du göra något sånt här i början av din kod/fil..

foreach($_GET as $key => $value)
{
unset($_GET[$key]);
$_GET[strtolower($key)] = $value;
}

Eller mer restriktivt...

foreach($_GET as $key => $value)
{
if (strtolower($key) == 'namn')
{
unset($_GET[$key]);
$_GET[strtolower($key)] = $value;
}
}

Testade den första, och den fungerade utmärkt! Tack!

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Thomas
Nej, strängarna är ju inte identiska.
$ php
<?php if ("a" === "A") echo 'ja'; else echo 'nej'; ?>
nej

Jaha! Missuppfattade frågan.

Visa signatur

Let me tell you something. You don't have to say anything, you know why? Cause you can pick up all your stuff, because you're mother-fucking fired! | Lemeno.se - En blogg om att Tjäna Pengar På Internet | Min blogg om styrketräning och kost

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av TommyL79
Låt säga att en person surfar till
minserver.com?NaMn=kalle

En liten fråga... Varför ska du ta hänsyn till dessa fall? Det är ju inte ofta, om någonsin, som användaren styr vilka variabler som skickas till ett script om denne inte skriver hela URLen för hand.

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Phod
En liten fråga... Varför ska du ta hänsyn till dessa fall? Det är ju inte ofta, om någonsin, som användaren styr vilka variabler som skickas till ett script om denne inte skriver hela URLen för hand.

Upptäckte att det fanns lite URLer i en databas som inte var som de skulle. Better safe than sorry!