带有关联数组的php array_push

时间:2015-04-22 08:32:11

标签: php associative-array

我正在尝试将文件添加到关联数组中 在搜索时我发现了“array_push”函数,但这对关联数组不起作用。

然后我发现我应该这样使用:

$myArray[$key] = $value;

所以我尝试了这个:

<?php
/* some SQL code to get the user's instrument */

$dir = "./bladmuziek/$instrument";
$dh = opendir($dir);
$partijen = array();
while (($file = readdir($dh)) !== false) {
    if (strlen($file) >= 3) {
        $file2 = str_replace (" ", "%20", $file);
        list( , $filename) = explode(';', $file);
        list($filename2, ) = explode('.', $filename);
        $partijen[$filename] = $file2;
    }
}

?>

文件采用以下格式: 69845214;某些文件.pdf
所以我将文件名“一些文件”和href“ 69845214;一些%20file.pdf ”保存到我的数组“ $ partijen ”。

这很好用,除了我的目录中有一些重复的文件名。 (由于前面的数字,这在目录中不是问题)

所以我的数组覆盖了具有相同文件名的文件。

如何在我的数组中添加我的信息以保存所有文件?

1 个答案:

答案 0 :(得分:0)

只需添加一个索引即可生成数组键。

<?php
/* some SQL code to get the user's instrument */

$dir = "./bladmuziek/$instrument";
$dh = opendir($dir);
$partijen = array();
$i = 0;
while (($file = readdir($dh)) !== false) {
    if (strlen($file) >= 3) {
        $file2 = str_replace (" ", "%20", $file);
        list( , $filename) = explode(';', $file);
        list($filename2, ) = explode('.', $filename);
        $partijen[++$i.'_'.$filename] = $file2;
    }
}

?>