ID:               20681
 Comment by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
 Bug Type:         Arrays related
 Operating System: Win 2K SP3
 PHP Version:      4.2.3
 New Comment:

<?php

class A {
        function A () {
        }
}

class B {
        function B () {
        }
}

$g_b = new B ();

$g_array = array (
        array ( new A () ),
        array ( 'test' ),
        array ( $g_b ) );

$g_key = array_search(array ( new A () ), $g_array);
var_dump($g_key);

$g_key = array_search(array ( $g_b ), $g_array);
var_dump($g_key);

$g_key = array_search(array ( 'test' ), $g_array);
var_dump($g_key);

?>

Seems to work as I exect it to:

int(0)
int(2)
int(1)

Also, the original example still produces warnings and doesn't find the
elements if you change the array_search() calls to in_array().


Previous Comments:
------------------------------------------------------------------------

[2002-11-27 11:41:45] [EMAIL PROTECTED]

array_search() does not seem to work when the needle is an object.

Sample code:

<?php

class A {
        function A () {
        }
}

class B {
        function B () {
        }
}

$g_b = new B ();

$g_array = array ( new A (), 'test', $g_b );

$g_key = array_search(new A (), $g_array);
var_dump($g_key);

$g_key = array_search($g_b, $g_array);
var_dump($g_key);

$g_key = array_search('test', $g_array);
var_dump($g_key);

?>

Output:
<br />
<b>Warning</b>:  Wrong datatype for first argument in call to
array_search in <b>C:\dparks\Documents\html\tmp.php</b> on line
<b>17</b><br />
bool(false)
<br />
<b>Warning</b>:  Wrong datatype for first argument in call to
array_search in <b>C:\dparks\Documents\html\tmp.php</b> on line
<b>20</b><br />
bool(false)
int(1)

Environment:
This is PHP 4.2.3 (binary from Zend or PHP.net) running on Apache
2.0.40 on Win 2K SP3.

Please email me if you would like me to run more tests, or try another
build (it may be awhile before I can try another build though --
someone else here had trouble with 4.3rc1 and I am behind schedule).

Thanks,

Daniel


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=20681&edit=1

Reply via email to