#44122 [Opn->Bgs]: wrong return value for a key in function array_search

From: Date: Thu, 14 Feb 2008 23:05:35 +0000
Subject: #44122 [Opn->Bgs]: wrong return value for a key in function array_search
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-122288@lists.php.net to get a copy of this message
ID: 44122 Updated by: jani@php.net Reported By: ron_tmp at roadrunner dot com -Status: Open +Status: Bogus Bug Type: Arrays related Operating System: win32 (XP) PHP Version: 5.2.5 New Comment: That 'strict' parameter is there for exactly this reason. Use it. :) Previous Comments: ------------------------------------------------------------------------ [2008-02-14 21:45:59] felipe@php.net Use the third parameter. ------------------------------------------------------------------------ [2008-02-14 20:06:42] ron_tmp at roadrunner dot com Description: ------------ I trying to get the fraction part of a decimal number using the string keys of an array as a lookup table. Example: 4.25 -> 4-1/4 I sending argument 25 to function 'ConvToFrac' and getting the corresponding key value ('1/4' for this case). Reproduce code: --------------- echo ConvToFrac('0625'); function ConvToFrac($value) { $frac_conv = array('1/2'=>'5','1/4'=>'25','3/4'=>'75','1/8'=>'125','3/8'=>'375','5/8' => '625', '7/8'=>'875','1/16' => '0625','3/16'=>'1875','5/16'=>'3125','7/16'=>'4375','9/16'=>'5625','11/16' =>'6825', '13/16' =>'8125','15/16'=>'9375'); $key = array_search($value, $frac_conv); return $key; } Expected result: ---------------- I expecting '1/16' for argument '0625' Actual result: -------------- I'm getting '5/8' the search can not differentiate between array string key '625' and '0625'. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=44122&edit=1

« previous php.bugs (#122288) next »