PHP - array_search() werkt niet goed
in_array() geeft geen key terug.
Return Values
Returns TRUE if needle is found in the array, FALSE otherwise.
Wat ik ook als needle opgeef (bekende of onbekende)
Maar ligt het probleem er inderdaad niet aan dat hij integers probeert te vergelijken ofzo?
Die 1 is een omzetting van de boolean TRUE naar de string 1.
Ozzie PHP op 12/01/2015 17:05:01:
>> Daarmee geeft hij inderdaad altijd "gevonden in element: 1" weer...
Die 1 is een omzetting van de boolean TRUE naar de string 1.
Die 1 is een omzetting van de boolean TRUE naar de string 1.
Ja oke, maar dan nog: wat ik ook invul als "te testen EAN", ik krijg altijd de zelfde EAN te zien tussen de ##
if ($key = in_array($ean_klant, $EANSlos)) {
eens door dit:
if ($key = in_array($ean_klant, $EANSlos, true)) {
Gewijzigd op 12/01/2015 17:15:12 door Ozzie PHP
Ozzie PHP op 12/01/2015 17:14:52:
Even om dingen uit te sluiten ... vervang dit:
if ($key = in_array($ean_klant, $EANSlos)) {
eens door dit:
if ($key = in_array($ean_klant, $EANSlos, true)) {
if ($key = in_array($ean_klant, $EANSlos)) {
eens door dit:
if ($key = in_array($ean_klant, $EANSlos, true)) {
:-) :-) :-)
Dan werkt hij!!!
Edit:
Hij doet het echt, perfect! Held!! Haha
Thanks. Eindelijk toch gelukt :)
Hij doet het echt, perfect! Held!! Haha
Thanks. Eindelijk toch gelukt :)
Gewijzigd op 12/01/2015 17:27:14 door sjef dresen
Zou dus inhouden dat het vergelijken op type op een of andere manier fout gaat. Nu doet ie een stricte controle en werkt het dus blijkbaar wel.
Toevoeging op 12/01/2015 17:28:33:
>> Hij doet het echt, perfect! Held!! Haha
Haha ... lol. Graag gedaan! ;-)
Ozzie PHP op 12/01/2015 17:28:04:
Kijk, komen we toch nog ergens :-)
Zou dus inhouden dat het vergelijken op type op een of andere manier fout gaat. Nu doet ie een stricte controle en werkt het dus blijkbaar wel.
Toevoeging op 12/01/2015 17:28:33:
>> Hij doet het echt, perfect! Held!! Haha
Haha ... lol. Graag gedaan! ;-)
Zou dus inhouden dat het vergelijken op type op een of andere manier fout gaat. Nu doet ie een stricte controle en werkt het dus blijkbaar wel.
Toevoeging op 12/01/2015 17:28:33:
>> Hij doet het echt, perfect! Held!! Haha
Haha ... lol. Graag gedaan! ;-)
Ja precies, zoiets zal het wel moeten zijn.
Ik had dat "strict" eerder vandaag ook al gezien, maar dacht "ach, dat is het ZEKER niet, dat hoef ik niet eens te proberen"... had ik toen maar m'n stoute schoenen aan getrokken, lol
Maareh, toppie dus, net voor einde werkdag alles in orde!
En weer vanalles bijgeleerd, dus daarvoor allen nogmaals hartelijk dank!!
Lijkt mij stug want $key wordt nog steeds true of false.
- SanThe - op 12/01/2015 17:32:12:
Lijkt mij stug want $key wordt nog steeds true of false.
Hmzz, tja daar weet ik het fijne niet van, maar onderstaande code werkt toch echt hoor:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
function EANalBekend($EAN){
$ean_klant = $EAN;
$bestand = 'strings.txt';
$EANSuitBestand = file_get_contents($bestand);
$EANSlos = explode("/", $EANSuitBestand);
if ($key = in_array($ean_klant, $EANSlos, true)) {
echo "reeds bekend";
}else{
echo "nieuwe EAN";
}
}
EANalBekend("871694840005xxxxxx");
?>
function EANalBekend($EAN){
$ean_klant = $EAN;
$bestand = 'strings.txt';
$EANSuitBestand = file_get_contents($bestand);
$EANSlos = explode("/", $EANSuitBestand);
if ($key = in_array($ean_klant, $EANSlos, true)) {
echo "reeds bekend";
}else{
echo "nieuwe EAN";
}
}
EANalBekend("871694840005xxxxxx");
?>
Dat moet het ook werken als je $key = weghaalt.
Ja, maar nu wel op het juiste moment ;) Hij werd eerst dus onbedoeld true als gevolg van een niet stricte vergelijking die in true resulteerde. Nu wordt ie alleen true als de stricte vergelijking exact klopt.
Toevoeging op 12/01/2015 17:37:32:
>> Dat moet het ook werken als je $key = weghaalt.
Dat klopt, die voegt nu niks meer toe.