我有一个函数需要传递4个不同的变量,这些变量值来自数组:
$pagesArray = array(
'pre-file1.html' => 'blahblah1',
'post-file1.html' => 'blahblah2'
);
$file1 = 'blahblah1';
$file2 = 'blahblah2';
$file1Name = 'pre-file1.html';
$file2Name = 'post-file1.html';
当我在循环中调用函数时,如何在foreach
循环中进行分配?
我试过这个
foreach ($pagesArray as $fileName => $url)
{
$file1 = file($url);
$file2 = file($url);
$file1Name = $key;
$file2Name = $key;
compareFiles($file1, $file2, $file1Name, $file2Name);
}
但这不起作用,因为它在循环中调用函数,并且只会在每次调用它之后循环。
注意:以上只是一个例子,该阵列中的对象数量将超过当前显示的两个对象。
答案 0 :(得分:2)
list($file1, $file2) = array_values($pagesArray);
list($file1Name, $file2Name) = array_keys($pagesArray);
compareFiles($file1, $file2, $file1Name, $file2Name);