2011-04-22 57 views
1

我有一個問題,下面的代碼,我需要傳遞一個數組作爲函數參數。我有2個數組,我需要將它們傳遞給函數。代碼有問題,我對PHP也不太熟悉。任何人都可以幫助我這個。非常感謝......傳遞數組作爲函數參數php

這裏的PHP代碼

$array1=array('e11','e12','e13','e14','e15'); 
$array2=array('e21','e22','e23','e24','e25'); 

function randomSort($arr){ 

    for ($i=0; $i<2; $i++) { 

     $random = array_rand($arr); # one random array element number 
     $get_it = $arr[$random]; # get the letter from the array 
     echo $get_it; 
     unset($arr[$random]); 
    } 
} 
randomSort($array1); 
randomSort($array2); 
+1

問題是? – wallyk 2011-04-22 18:04:38

+2

ps:只是'shuffle'數組,並將第一個數組打印到該數組中,然後將第一個數組打印到該數組中; – NikiC 2011-04-22 18:10:34

+1

pps:如果在函數中未設置數組元素,全局數組將不會被觸摸。只有當你通過引用傳遞數組。 – NikiC 2011-04-22 18:11:06

回答

2
$array1=array('e11','e12','e13','e14','e15'); 
$array2=array('e21','e22','e23','e24','e25'); 

function randomSort(&$arr){ // pass array by reference 

    for ($i=0; $i<2; $i++) { 

     $random = array_rand($arr); # one random array element number 
     $get_it = $arr[$random]; # get the letter from the array 
     echo $get_it; 
     unset($arr[$random]); 
     $arr = array_values($arr); 
    } 
} 
randomSort($array1); 
randomSort($array2); 
+0

非常感謝...-) – 2011-04-22 18:26:40

+1

很高興爲您效勞。 – Gaurav 2011-04-22 18:27:50

3

真的嗎?

您將$arr定義爲參數,但在函數中將其稱爲$my_array。只要注意你如何命名你的變量。

+0

HaHaHaHaHaHa +1 – Dutchie432 2011-04-22 18:06:04

+0

對於我給出的不正確代碼感到抱歉,我現在會更正它... – 2011-04-22 18:06:46

+1

甚至更​​好:啓用錯誤報告 - 以這種方式PHP將監視爲你而出。 – NikiC 2011-04-22 18:08:35