具有自定义键值的多维数组

时间:2011-06-01 13:21:08

标签: php arrays multidimensional-array numbers

嗨我有一个问题我有两个数组1使用php explode函数创建,我希望它显示数组中每个单词的数字。我想要它的原因,以便我可以将mp3文件链接到列表中的每个单词。 mp3的文件链接格式是链接:0000001.mp3,0000002.mp3等

目前,数组为每个数组生成零的起始键值:

$a1 = array(0=>"Cat",1=>"Dog",2=>"Horse",3=>"House");
$a2 = array(0=>"Bird",1=>"Rat",2=>"Fish");
$a3 = array(0=>"Horse",1=>"Dog",2=>"Bird");

////////我希望数组有继续的键,以便我可以将它们链接到mp3文件,例如

$a1 = array(0=>"Cat",1=>"Dog",2=>"Horse",3=>"House");
$a2 = array(4=>"Bird",5=>"Rat",6=>"Fish");
$a3 = array(7=>"Horse",8=>"Dog",9=>"Bird");

p.s我不是php的专业人员我非常知道php代码中有几个错误。 http://www.deen-ul-islam.org/quran-player/quran.php

foreach ($suraText as $aya)
        {
            $trans = $transText[$ayaNum- 1];
            // remove bismillahs, except for suras 1 and 9
            if (!$showBismillah && $ayaNum == 1 && $sura !=1 && $sura !=9)
                $aya = preg_replace('/^(([^ ]+ ){4})/u', '', $aya);
            // display waqf marks in different style
           // $aya = preg_replace('/ ([ۖ-۩])/u', '<span class="sign">&nbsp;$1</span>', $aya);
$surah2 = leading_zeros($sura, 3);
$ayaNum2 = leading_zeros($ayaNum, 3);
            $aya = explode(' ',$aya);
            echo "<div class=aya>";
            echo "<div class=quran><a href='http://www.everyayah.com/data/Ghamadi_40kbps/$surah2$ayaNum2.mp3' class='sm2_link'><span class=ayaNum>$ayaNum. </span></a>";
            foreach($aya as $key => $aya) { 
            $key = $key+1; ?>
            <a href="http://audio.allahsquran.com/wbw/<?php echo $key ?>.mp3" class="sm2_link"><span class="word"><?php echo $aya ?></span></a>
            <?php }

            echo  "</div>";
            //echo "<div class=trans>$trans </div>";
            echo "</div>";
            $ayaNum++;
        }

3 个答案:

答案 0 :(得分:0)

创建数组时,请手动设置密钥,并在每次添加新项目时将其递增:

$i = 0;
$a1=array(0=>"Cat",++$i=>"Dog",++$i=>"Horse",++$i=>"House");

答案 1 :(得分:0)

你想要的东西似乎非常hacky 但是你可能想看一下array_merge(),这样你就可以把你的两个数组合并为一个。

答案 2 :(得分:0)

试试这个:

$array = array_merge($a1, $a2, $a3);

$a1 = array_slice($array, 0, 4, true);
$a2 = array_slice($array, 3, 3, true);
$a3 = array_slice($array, 6, 3, true);