sabbacusMedlem sedan juli 2002630 inlägg Fet bugg i PHP?
Testa den här koden och säg sedan om jag gjort fel eller om det är en bugg i funktionen?
http://se.php.net/manual/en/function.array-search.php
$haystack = array(1, 2, 3, 4, 5, 6, 7);
$needle = 1;
$dare = array_search ( $needle, $haystack );
if ( $dare != false )
{
echo "I dare!";
}
else
{
echo "I am a chicken!";
}
[EDIT]Tillägg: Jag kör PHP 4.3.2[/EDIT]
MatteMedlem sedan aug. 20002 975 inlägg För mig fungerar den precis som den ska. Jag får utskriften "I am a chicken!".
array_search returnerar på vilket index träffen blir. Du hittar 1 på första index, alltså index 0 (noll), vilket också sparas i $dare.
Med PHP:s typomvandling blir det samma sak som om man inte hade hittat något. Du borde kanske istället gjort jämförelsen:
if ( $dare !== false )
Annars.Det är inte möjligtvis detta du söker:
$dare = in_array ( $needle, $haystack );
Jag kör också 4.3.2
sabbacusMedlem sedan juli 2002630 inlägg Det är typomvanlignen som gjorde att det inte funkade för mig :-)
Man lär sig ngt nytt varje dag.
Tackar!