PHP - array_search() werkt niet goed

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: « vorige 1 2 3

- SanThe -

- SanThe -

12/01/2015 16:32:24
Quote Anchor link
@Ivo:

in_array() geeft geen key terug.

Return Values

Returns TRUE if needle is found in the array, FALSE otherwise.
 
PHP hulp

PHP hulp

24/04/2024 01:29:40
 
Sjef dresen

sjef dresen

12/01/2015 16:39:03
Quote Anchor link
Daarmee geeft hij inderdaad altijd "gevonden in element: 1" weer...
Wat ik ook als needle opgeef (bekende of onbekende)

Maar ligt het probleem er inderdaad niet aan dat hij integers probeert te vergelijken ofzo?
 
Ozzie PHP

Ozzie PHP

12/01/2015 17:05:01
Quote Anchor link
>> Daarmee geeft hij inderdaad altijd "gevonden in element: 1" weer...

Die 1 is een omzetting van de boolean TRUE naar de string 1.
 
Sjef dresen

sjef dresen

12/01/2015 17:06:47
Quote Anchor link
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.


Ja oke, maar dan nog: wat ik ook invul als "te testen EAN", ik krijg altijd de zelfde EAN te zien tussen de ##
 
Ozzie PHP

Ozzie PHP

12/01/2015 17:14:52
Quote Anchor link
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)) {
Gewijzigd op 12/01/2015 17:15:12 door Ozzie PHP
 
Sjef dresen

sjef dresen

12/01/2015 17:25:23
Quote Anchor link
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)) {


:-) :-) :-)

Dan werkt hij!!!

Edit:


Hij doet het echt, perfect! Held!! Haha


Thanks. Eindelijk toch gelukt :)
Gewijzigd op 12/01/2015 17:27:14 door sjef dresen
 
Ozzie PHP

Ozzie PHP

12/01/2015 17:28:04
Quote Anchor link
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! ;-)
 
Sjef dresen

sjef dresen

12/01/2015 17:31:16
Quote Anchor link
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! ;-)


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!!
 
- SanThe -

- SanThe -

12/01/2015 17:32:12
Quote Anchor link
Lijkt mij stug want $key wordt nog steeds true of false.
 
Sjef dresen

sjef dresen

12/01/2015 17:34:54
Quote Anchor link
- 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)
PHP script in nieuw venster Selecteer het PHP script
1
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");

?>
 
- SanThe -

- SanThe -

12/01/2015 17:36:27
Quote Anchor link
Dat moet het ook werken als je $key = weghaalt.
 
Ozzie PHP

Ozzie PHP

12/01/2015 17:36:57
Quote Anchor link
>> Lijkt mij stug want $key wordt nog steeds true of false.

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.
 

Pagina: « vorige 1 2 3



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.