Php Eşleştirme diziler

3 Cevap php

Ben verilen bir dizi başka bir dizi maç olacak olup olmadığını kontrol gerekir. Ben ilk dizi işlemek için ya da nasıl bilemiyorum, ya da bunu başka bir şekilde eşleşecek.

Ben bu diziyi maç gerekir:

    Array
(
    [1] => site
    [2] => blog
    [3] => index.php
)

Bu maç için:

Array
(
    [site] => Array
        (
            [path] => site
            [name] => site
            [kind] => directory
            [content] => Array
                (
                    [404] => Array
                        (
                            [path] => site/404.php
                            [name] => 404.php
                            [extension] => php
                            [kind] => file
                        )

                    [blog] => Array
                        (
                            [path] => site/blog
                            [name] => blog
                            [kind] => directory
                            [content] => Array
                                (
                                    [contact] => Array
                                        (
                                            [path] => site/blog/contact.php
                                            [name] => contact.php
                                            [extension] => php
                                            [kind] => file
                                        )

                                    [index] => Array
                                        (
                                            [path] => site/blog/index.php
                                            [name] => index.php
                                            [extension] => php
                                            [kind] => file
                                        )

                                    [about] => Array
                                        (
                                            [path] => site/blog/about.php
                                            [name] => about.php
                                            [extension] => php
                                            [kind] => file
                                        )

                                )

                        )

                    [index] => Array
                        (
                            [path] => site/index.php
                            [name] => index.php
                            [extension] => php
                            [kind] => file
                        )

                )

        )

)

Ve dosyanın içeriği bir dizi döndürür:

                            [index] => Array
                                (
                                    [path] => site/blog/index.php
                                    [name] => index.php
                                    [extension] => php
                                    [kind] => file
                                )

Yardım büyük mutluluk duyacağız!

3 Cevap

Diziye sadece index:

$b[$a[1]]['content'][$a[2]]['content'][str_replace('.php', '', $a[3])]

Lütfen giriş değişken uzunlukta olabilir, bunun yerine bir döngü içinde bunu.

Yani gerek ...

$array2[$array[1]][content][$array[2]][substr(0, stripos($array[3], "."), $array[3])]

Ya da yakın bir şey ...

Ben büyük dizideki indekslerinin bu listede kontrol ve kullanılabilir / eşleşen herhangi bir sonuç dönmek istiyorum demek için alabilir miyim? Eğer öyleyse, ve ilk dizi denir $indexes ve ikinci $results yapabileceğini denir varsayarak:

$found = array();
foreach($indexes as $index) {
  if(isset($results[$index])) {
    $found[] = $results[$index]['content'];
  }
}

ve şimdi içerik girişleri tüm listesi ile $found olurdu $ indekslerde indeksleri eşleşen $ sonuç bulundu. Umut olur.