我正在尝试从二维数组中创建一个列表,在每行中显示该位置的键和值。这是我制作的代码。
$array1=array(...);
$array2=array(...);
(...)
$array25=array(...); //this part works fine so I'm not posting all of it
$bigarray['array1']=$array1;
$bigarray['array2']=$array2;
//and so on. This also works as it should
$matrix=file(mylist.txt); //this file holds all the keys I want to print, with the format key1##key2
function printthelist($array)
{
global $bigarray,$key1,key2;
$line=explode("##",$array);
$key1=$line[0];
$key2=$line[1];
echo 'Column:'.$key1.rtrim($key2).$bigarray[$key1][rtrim($key2)].'<br/>';
}
array_walk($matrix,'printthelist');
两个键都打印正确,但是当我尝试打印数组值时,它们只是不显示。我尝试使用固定值而不是变量作为键,它在函数内部和外部都有效。我一定错过了什么,我只是不知道是什么。
既然你问了,这里是其中一个数组的示例:
$ib=array();
$ib[4]='Diagnostics in hospitals';
$ib[5]='False positives';
$ib[6]='Risk Factors';
$ib[7]='Protect yourself from infections';
这是包含要打印的密钥的文件的内容:
other##16
invitro##9
ib##19
invitro##8
other##13
knowmore##14
psico##10
med##23
patients##19
patients##18
other##12