2次元配列からリストを作成し、各行のその位置にあるキーと値の両方を表示しようとしています。これは私が作成したコードです。
$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');
両方のキーは正しく印刷されますが、配列値を印刷しようとすると、表示されません。キーとして変数の代わりに固定値を試しましたが、関数の内部と外部の両方で機能しました。私は何かが欠けているに違いない、私はただ何がわからない。
あなたが尋ねたので、ここに配列の1つのサンプルがあります:
$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