将数组传递给函数

时间:2011-11-18 14:31:01

标签: php

我创建了两个数组。我想把这两个数组传递给任何函数。我是功能的初学者,所以尝试使用粗糙的代码来完成我的任务。因为我在$ cntctnum和$ cntcttype中有一些名为array的值。

 $cntctnum      = array();
 $cntcttype     = array();
 $response = array();

 function play_with_array($cntctnum, $cntcttype){
 $contactnumber= $cntctnum[];
 $cntcttype = $cntcttype[];

 // some code to play with array.

 return resultarray();
 }


 $response = play_with_array($cntctnum, $cntcttype);

这是在数组中传递函数的正确方法吗? 我需要在返回resultarray()之前或之后将$ response声明为数组,它会自动将其视为数组吗?

3 个答案:

答案 0 :(得分:1)

您不需要事先将$response定义为数组,但最好还是这样做,这取决于之后代码所期望的内容。

在您的函数中,您不会返回函数调用resultarray(),而是返回一个新数组:

function play_with_array($cntctnum, $cntcttype) {
    $contactNumber = $cntctnum; // You don't need the assignment! Note: No brackets here!
    $resultArray = array();
    // Do something here        
    return $resultArray;
}

答案 1 :(得分:0)

你有:

$cntctnum      = array();
$cntcttype     = array();
$response = array();

function play_with_array($cntctnum, $cntcttype){
$contactnumber= $cntctnum[]; // don't need []
$cntcttype = $cntcttype[];   // don't need []

// some code to play with array.

return resultarray(); // this is a function?
}


$response = play_with_array($cntctnum, $cntcttype);

我会做这样的事情

$cntctnum    = array();
$cntcttype    = array();

function play_with_array($contactnumber, $cntcttype){
    // some code to play with array.
    $response = array($contactnumber,$cntcttype);

    return $response; 
}

$response = play_with_array($cntctnum, $cntcttype);
echo "<pre>".print_r($response,true)."</pre>";

答案 2 :(得分:0)

Rahul,您将数组传递给函数就像将任何其他变量传递给函数一样。拥有一个函数的原因是有一块代码块可以重复使用来执行同一组计算等。

很难理解你在功能中想要做什么。如果这是可重复的,意思是:比较数组1和数组2,得到更大的一个,然后返回某种变化,然后是,创建一个函数。如果你的函数中有一些特定于这个页面的代码和这两个数组,你就不需要这个函数了。只需编写内联代码即可。

  

我需要在返回resultarray()之前或之后将$ response声明为数组,它会自动将其视为数组吗?

不,你没有。如果你在函数中的resultarray变量确实是一个数组,你就可以了。