Case-Insensitive array
Hoe
Kan ik in dit voorbeeld $sort case-insensitive maken?
Code (php)
Kan ik in dit voorbeeld $sort case-insensitive maken?
Code (php)
=== dus...dan moet ie precies het zelfde zijn :)
Nee ik bedoel iets anders
Voorbeeld:
Als $found[$i] = "Naam:" dan returned die True (omdat dat de eerste waarde is in de array)
Maar als $found[$i] = "NaAM:" dan wil ik ook dat die true returned
Maar er is geen "NaAM:" in de array wel "Naam:"
Ik hoop dat u begrijpt waar ik heen wil
Voorbeeld:
Als $found[$i] = "Naam:" dan returned die True (omdat dat de eerste waarde is in de array)
Maar als $found[$i] = "NaAM:" dan wil ik ook dat die true returned
Maar er is geen "NaAM:" in de array wel "Naam:"
Ik hoop dat u begrijpt waar ik heen wil
ah ja ik las sensitive en niet insensitive :P
dan zo :)
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$sortA = array("Naam:", "Naam", "Achternaam", "Voornamen:", "Adres:", "Telefoon:", "Geboortedatum:",
"E-mail:", "Werkervaring:", "Opleidingen:", "Cursussen:", "Taalvaardigheid:",
"Hobby’s:");
foreach ($sortA as $sort) {
if (strtolower($found[$i]) == strtolower($sort)) {
return true; } }
?>
$sortA = array("Naam:", "Naam", "Achternaam", "Voornamen:", "Adres:", "Telefoon:", "Geboortedatum:",
"E-mail:", "Werkervaring:", "Opleidingen:", "Cursussen:", "Taalvaardigheid:",
"Hobby’s:");
foreach ($sortA as $sort) {
if (strtolower($found[$i]) == strtolower($sort)) {
return true; } }
?>
dan zo :)
Wat is mis met in_array()?
ok Thanks man!
Toevoeging op 14/01/2013 10:56:35:
if (in_array(strtolower($found[$i]),strtolower($sortA))) {
strtolower werkt niet op array
Toevoeging op 14/01/2013 10:56:35:
- Mark - op 14/01/2013 10:48:58:
Wat is mis met in_array()?
if (in_array(strtolower($found[$i]),strtolower($sortA))) {
strtolower werkt niet op array
@Francoi: http://php.net/array_map. zet de functie op strtolower en de tweede op $sortA
No One op 14/01/2013 10:59:08:
@Francoi: http://php.net/array_map. zet de functie op strtolower en de tweede op $sortA
Bedoelt u die: http://php.net/manual/en/function.array-map.php?
zet de functie op strtolower en de tweede op $sortA
Ik weet niet precies wat je daar mee bedoelt
Zo (niet): if (strtolower(in_array($found[$i],$sortA))) { ?
die link is EXCACT het zelfde, alleen is de notatie anders...ja dus...
if (strtolower(in_array($found[$i],array_map('strtolower', $sortA)))) { <- zo dus...
een tip: krijg een beetje feeling voor de programmeertaal...het is niks voor niks een vorm van logica..
if (strtolower(in_array($found[$i],array_map('strtolower', $sortA)))) { <- zo dus...
een tip: krijg een beetje feeling voor de programmeertaal...het is niks voor niks een vorm van logica..
Je hoeft het in dit geval ook niet case-insensitive te maken of wel? Je array bevat alleen maar waardes waarvan de eerste letter een hoofdletter is? Ik neem aan dat $found[$i] een waarde is die je netjes wilt weergeven?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$value = ucfirst(strtolower($found[$i]));
if(in_array($value, $sortA)){
// Doe je ding.
}
?>
$value = ucfirst(strtolower($found[$i]));
if(in_array($value, $sortA)){
// Doe je ding.
}
?>
@No One
Sorry maar dat werkt niet, (geen foutmelding)
Ja de feeling word per dag beter hoor, met name door zo'n forum als deze
@Mark
Je array bevat alleen maar waardes waarvan de eerste letter een hoofdletter is?
Dat heb ik gewoon zo gedaan met de 1e letter als hoofdletter, maar eigenlijk wil ik
, case-insensitive, erop toepassen zodat ik niet een einde lange array moet maken met
alle combinaties in hoofdletters
Sorry maar dat werkt niet, (geen foutmelding)
Ja de feeling word per dag beter hoor, met name door zo'n forum als deze
@Mark
Je array bevat alleen maar waardes waarvan de eerste letter een hoofdletter is?
Dat heb ik gewoon zo gedaan met de 1e letter als hoofdletter, maar eigenlijk wil ik
, case-insensitive, erop toepassen zodat ik niet een einde lange array moet maken met
alle combinaties in hoofdletters
Gewijzigd op 14/01/2013 11:35:32 door Francoi gckx
Dan is het al helemaal geen probleem. Gewoon alles in je array met kleine letters schrijven. Dan hoef je alleen maar strtolower over $found[$i] te doen.
Gewijzigd op 14/01/2013 11:40:53 door - Mark -
@Francoi: met feeling bedoel ik meer zelf fouten weten op te lossen :P
if (strtolower(in_array($found[$i],array_map('strtolower', $sortA)))) {
hierin heb ik dus een fout gemaakt...niet handig, maar ik weet hem op te lossen door logica toe te passen: ik ga de buitenste haakjes nemen..en dan ga ik steeds verder naar binnen (met een editor als Aptana, die kleurtjes toepast en aangeeft welk haakje bij welke hoort, kom je al heel snel bij de fout)
in dit geval zie ik trouwens door even te kijken dat ik strtolower en in_array moet omdraaien
if(in_array(strtolower($found[$i],array_map('strtolower', $sortA)))) {
if (strtolower(in_array($found[$i],array_map('strtolower', $sortA)))) {
hierin heb ik dus een fout gemaakt...niet handig, maar ik weet hem op te lossen door logica toe te passen: ik ga de buitenste haakjes nemen..en dan ga ik steeds verder naar binnen (met een editor als Aptana, die kleurtjes toepast en aangeeft welk haakje bij welke hoort, kom je al heel snel bij de fout)
in dit geval zie ik trouwens door even te kijken dat ik strtolower en in_array moet omdraaien
if(in_array(strtolower($found[$i],array_map('strtolower', $sortA)))) {
@Mark
Bedankt, maar ik ga voor die van No One want die ziet er iets leuker uit:)
@No One
Je had 1 haakje verkeerd staan zodat het leek of strtolower 2 parameters had:)
Bedankt allebei voor de snelle reacties
Bedankt, maar ik ga voor die van No One want die ziet er iets leuker uit:)
@No One
Je had 1 haakje verkeerd staan zodat het leek of strtolower 2 parameters had:)
Bedankt allebei voor de snelle reacties




