ID: 48492
Comment by: alex at emailclick dot com
Reported By: alex at emailclick dot com
Status: Open
Bug Type: Unknown/Other Function
Operating System: Windows XP
PHP Version: 5.2.9
New Comment:
It seems that the problem concerns the second cycle: if there are 3
models instead 2 the array that contains the result switchs its position
complying to the time of the cycle, so when we use 3 models the results
are consequentially saved in the indexes 0, 1, 2, 0, 1, 2 etc..
Previous Comments:
------------------------------------------------------------------------
[2009-06-08 08:02:55] alex at emailclick dot com
Description:
------------
There is a strange behaviour when I try to check the intersection
between two array (of keys (of filtered by callback arrays)).
The result of that operation is saved in an array which contains the
value at index 0 when the cycle is odd (1,3,5...). Instead the value
will be saved at index 1 when the cycle is pair (2,4,6...).
Reproduce code:
---------------
foreach($dates as $date){
foreach($machines as $model){
if(!is_array($models[$model])) models[$model]=array();
$id=array_intersect(
array_keys(array_filter($data->data['udate'],create_function('$date','return
$date=="'.$date.'";'))),array_keys(array_filter($data->data['model'],create_function('$model','return
$model=="'.$model.'";'))));
var_dump($id);echo '<br />';
}
}
Expected result:
----------------
array(1) { [0]=> int(0) }
array(1) { [0]=> int(1) }
array(1) { [0]=> int(2) }
array(1) { [0]=> int(3) }
Actual result:
--------------
array(1) { [0]=> int(0) }
array(1) { [1]=> int(1) }
array(1) { [0]=> int(2) }
array(1) { [1]=> int(3) }
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48492&edit=1