php隨機選擇數組內容 array_rand-php函數

字號:


    昨天是數組合并,今天依舊是數組合并,今天是昨天array_merge的延伸,昨天的如果遇到相同的數據,則出現覆蓋情況
    本次將的是array_merge_recursive不會覆蓋,會形成新的數組。
    看語法
    $newarray = array_merge_recursive($array1,$array2.....);
    英文merge 合并的意思,recursive是遞歸的意思
    特殊的情況與array_merge不同之處說明一下
    1.不會覆蓋相同的內容,相同的內容會以相同的key存儲為數組
    2.會遞歸深層次的數組,在以往的函數中不會遞歸,該函數是遞歸的
    看例子學習php數組相同數據合并array_merge_recursive
    例子1:有索引的數組的合并
    <?php
    $array = array("forasp"=>".cn","key"=>"1","temp"=>2);
    $array1 = array("forasp"=>"www.anypoetry.com","key"=>1,"temp"=>3);
    $forasp = array_merge_recursive($array,$array1);
    print_r($forasp);
    ?>
    結果
    Array
    (
    [forasp] => Array
    (
    [0] => .cn
    [1] => www.anypoetry.com
    )
    [key] => Array
    (
    [0] => 1
    [1] => 1
    )
    [temp] => Array
    (
    [0] => 2
    [1] => 3
    )
    )
    ?>
    這里注意一點,進行相同key的合并,可以看出來相同key以及內容形成了數組
    例子2 無索引數組與有索引數組
    <?php
    $array= array("site","域名","www.anypoetry.com");
    $array1 = array("forasp"=>"www.anypoetry.com","key"=>1,"temp"=>3);
    $forasp = array_merge_recursive($array,$array1);
    print_r($forasp);
    ?>
    輸出結果:
    Array
    (
    [0] => site
    [1] => 域名
    [2] => www.anypoetry.com
    [forasp] => www.anypoetry.com
    [key] => 1
    [temp] => 3
    )
    無索引的,看來數組合并array_merge_recursive進行比較了key
    例子3 當有一維數組
    <?php
    $array1= array("site","域名","anypoetry.com");
    $array2=array("site","anypoetry.com");
    $forasp = array_merge_recursive($array1,$array2);
    print_r($forasp);
    ?>
    輸出結果
    Array
    (
    [0] => site
    [1] => 域名
    [2] => anypoetry.com
    [3] => site
    [4] => anypoetry.com
    )
    看來 array_merge_recursive是針對于有索引數組的,如果無索引同樣的value不能形成數組