Professional Web Applications Themes

#25494 [Opn]: array_merge allowing "false" as argument - PHP Development

ID: 25494 User updated by: enygma at phpdeveloper dot org Reported By: enygma at phpdeveloper dot org Status: Open Bug Type: *General Issues Operating System: Red Hat Linux PHP Version: 4.3.2 New Comment: array_merge_recursive() shows the same behavior array_intersect(), however, doesn't and gives a correct warning message Previous Comments: ------------------------------------------------------------------------ [2003-09-11 10:57:27] enygma at phpdeveloper dot org Description: ------------ Code: --------------------------------------- $array1=false; $array2=array("test"=>"1","testing"=>"2"); $last_array=array_merge($array1,$array2); echo "<pre>"; print_r($last_array); echo "</pre>"; --------------------------------------- Result: --------------------------------------- Array ( [0] => [test] => 1 [testing] => 2 ) --------------------------------------- Please note that not only does array_merge allow the "false" to be passed in, but when ...

  1. #1

    Default #25494 [Opn]: array_merge allowing "false" as argument

    ID: 25494
    User updated by: enygma at phpdeveloper dot org
    Reported By: enygma at phpdeveloper dot org
    Status: Open
    Bug Type: *General Issues
    Operating System: Red Hat Linux
    PHP Version: 4.3.2
    New Comment:

    array_merge_recursive() shows the same behavior
    array_intersect(), however, doesn't and gives a correct warning message


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

    [2003-09-11 10:57:27] enygma at phpdeveloper dot org

    Description:
    ------------
    Code:
    ---------------------------------------
    $array1=false;
    $array2=array("test"=>"1","testing"=>"2");
    $last_array=array_merge($array1,$array2);
    echo "<pre>"; print_r($last_array); echo "</pre>";
    ---------------------------------------

    Result:
    ---------------------------------------
    Array
    (
    [0] =>
    [test] => 1
    [testing] => 2
    )
    ---------------------------------------

    Please note that not only does array_merge allow the "false" to be
    passed in, but when it is, a mysterious [0] appears in the results
    (null array value?)

    Reproduce code:
    ---------------
    <?php
    $array1=false;
    $array2=array("test"=>"1","testing"=>"2");
    $last_array=array_merge($array1,$array2);
    echo "<pre>"; print_r($last_array); echo "</pre>";
    ?>

    Expected result:
    ----------------
    Either an "invalid argument" for the "false" being passed in, or no
    extra Null array value appended to the resulting array.

    Actual result:
    --------------
    Array
    (
    [0] =>
    [test] => 1
    [testing] => 2
    )


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


    --
    Edit this bug report at [url]http://bugs.php.net/?id=25494&edit=1[/url]
    enygma at phpdeveloper dot org Guest

  2. #2

    Default #25494 [Opn]: array_merge allowing "false" as argument

    ID: 25494
    Updated by: [email]andreyphp.net[/email]
    Reported By: enygma at phpdeveloper dot org
    Status: Open
    Bug Type: Arrays related
    Operating System: Red Hat Linux
    PHP Version: 4.3.2
    New Comment:

    1. Please use var_dump() instead of print_r()
    2. The value in the merged array is (bool) false


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

    [2003-09-11 10:59:27] enygma at phpdeveloper dot org

    array_merge_recursive() shows the same behavior
    array_intersect(), however, doesn't and gives a correct warning message

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

    [2003-09-11 10:57:27] enygma at phpdeveloper dot org

    Description:
    ------------
    Code:
    ---------------------------------------
    $array1=false;
    $array2=array("test"=>"1","testing"=>"2");
    $last_array=array_merge($array1,$array2);
    echo "<pre>"; print_r($last_array); echo "</pre>";
    ---------------------------------------

    Result:
    ---------------------------------------
    Array
    (
    [0] =>
    [test] => 1
    [testing] => 2
    )
    ---------------------------------------

    Please note that not only does array_merge allow the "false" to be
    passed in, but when it is, a mysterious [0] appears in the results
    (null array value?)

    Reproduce code:
    ---------------
    <?php
    $array1=false;
    $array2=array("test"=>"1","testing"=>"2");
    $last_array=array_merge($array1,$array2);
    echo "<pre>"; print_r($last_array); echo "</pre>";
    ?>

    Expected result:
    ----------------
    Either an "invalid argument" for the "false" being passed in, or no
    extra Null array value appended to the resulting array.

    Actual result:
    --------------
    Array
    (
    [0] =>
    [test] => 1
    [testing] => 2
    )


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


    --
    Edit this bug report at [url]http://bugs.php.net/?id=25494&edit=1[/url]
    andrey@php.net Guest

Similar Threads

  1. Replies: 0
    Last Post: October 8th, 11:17 AM
  2. Replies: 0
    Last Post: October 8th, 12:07 AM
  3. Replies: 0
    Last Post: October 7th, 01:30 PM
  4. Replies: 0
    Last Post: October 7th, 12:37 PM
  5. Replies: 0
    Last Post: September 19th, 02:44 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139