我想这样做:
list($a, $b, $c) = array('a', 'b', 'c');
my_function($a, $b, $c);
但是数组中的值数量未知
my_function(some_function($array));
有什么想法吗?
答案 0 :(得分:1)
您可以将数组传递给您的函数,这样您就可以获得所有变量。如果您的数组有密钥,则可以使用 PHP extract() function 。
// Build data array. Include keys as these will become the variable name later.
$data = array('a' => 'a', 'b' => 'b', 'c' => 'c');
// Call your function with data
my_function($data);
// Your function to parse data...
function my_function($data = NULL)
{
// Verify you got data..
if(is_null($data)){ return FALSE; }
// Extract the array so that each value in the array gets assigned to a variable by it's key.
extract($data);
// Now you may echo values
echo $a.$b.$c;
}
另一个更常见的选择是遍历数组。使用 foreach loop ,您可以一次引用一个数组的每个值。这可以这样做:
// Build data array. Include keys as these will become the variable name later.
$data = array('a','b','c');
// Call your function with data
my_function($data);
// Your function to parse data...
function my_function($data = NULL)
{
// Verify you got data..
if(is_null($data)){ return FALSE; }
// Loop through data to operate
foreach($data as $item)
{
// Now you may echo values
echo $item;
}
}
答案 1 :(得分:0)
如果将数组作为参数传递给函数,则可以使用foreach
循环遍历任意长度的数组。
someFunction($returnedArray){
foreach($returnedArray as $value){
echo $value
}
}
foreach将逐个元素,将当前索引的值分配给(在这种情况下)$ value。
答案 2 :(得分:-3)