многомерный массив с пользовательским значением ключа - PullRequest
1 голос
/ 01 июня 2011

Привет, у меня проблема. У меня есть два массива 1, созданных с помощью функции php explode, я хочу, чтобы она отображала число для каждого слова в массиве. причина, по которой я хочу, чтобы я мог связать mp3-файл с каждым словом в списке. формат ссылки на файл в формате mp3: link: 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");

ps. Я не профессионал в 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 голосов
/ 01 июня 2011

То, что вы хотите, кажется очень хакерским , но вы можете взглянуть на array_merge () , чтобы вы могли объединить два массива в один.

0 голосов
/ 01 июня 2011

Попробуйте это:

$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);
0 голосов
/ 01 июня 2011

Когда вы создаете массив, задайте ключ вручную и увеличивайте его при каждом добавлении нового элемента, например:

$i = 0;
$a1=array(0=>"Cat",++$i=>"Dog",++$i=>"Horse",++$i=>"House");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...